Simple Where子句存在语法错误


Simple Where Clause has syntax error

$entries = "INSERT INTO allowances (totalGrossPay) VALUES ('".$totalGrossPay."') WHERE (allowances.SSN = '".$SSN."')";
mysql_query ($entries) or die (mysql_error());

您的SQL语法有错误;查看与MySQL服务器版本对应的手册,了解在"WHERE(allowances.SSN='300497654'("附近使用的正确语法

您认为应该发生什么?INSERT是无条件的,不需要甚至不允许使用WHERE子句
你真正想要的是UPDATE

只需进行更新:

$entries = "UPDATE `allowances` SET `totalGrossPay` = '{$totalGrossPay}' WHERE `SSN` = '{$SSN}'";
mysql_query ($entries) or die (mysql_error());

如果您想更新可能存在的记录并以其他方式插入该记录,您可以使用insert语句的ON DUPLICATE KEY短语来指定如果该记录已经存在会发生什么。