3

我只是无法弄清楚为什么从这个查询中得到错误 1064

//prep the data for database use
$manufacturer_id = $_GET['id'];
$manufacturer_display_name = mysql_prep($_POST['manufacturer_display_name']);
$manufacturer_name = mysql_prep($_POST['manufacturer_name']);


$query = "UPDATE IT_manufacturer SET
        manufacturer_name = '{$manufacturer_name}',
        manufacturer_display_name = '{$manufacturer_display_name}',
        WHERE manufacturer_id = {$manufacturer_id}
        ";

$result = mysql_query($query, $connection);
confirm_query ($result);

如果我回显变量 $manufacturer_name、$manufacturer_display_name、$manufacturer_id 它们都有值但我收到此错误

无法执行查询您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 4 行错误号 1064 的“WHERE manufacturer_id = 1”附近使用正确的语法

任何帮助

4

2 回答 2

6

去掉where之前的逗号,应该是

    $query = "UPDATE IT_manufacturer SET manufacturer_name = '{$manufacturer_name}',
                 manufacturer_display_name = '{$manufacturer_display_name}' 
                 WHERE manufacturer_id = {$manufacturer_id} ";

逗号仅分隔正在设置的不同变量,而不是来自 where 的集合。

于 2010-01-04T20:16:50.317 回答
1

去掉 where 前的逗号:

'{$manufacturer_display_name}', WHERE manufacturer_id
                             ^^^
于 2010-01-04T20:17:35.260 回答