1

运行以下查询时出现 SQl 语法错误,但看不到它有什么问题:

$query = "UPDATE combined SET v_categories_name_1_1='Hoodie', 
v_attribute_options_id_1=1, v_attribute_values_id_1_1=1, v_attribute_values_id_1_2=2, 
v_attribute_values_id_1_3=3, v_attribute_values_id_1_4=4, 
v_attribute_values_price_1_1=0, v_attribute_values_price_1_2=0, 
v_attribute_values_price_1_3=0, v_attribute_values_price_1_4=0, 
v_attribute_options_name_1_1='Size', v_attribute_values_name_1_1_1='Small', 
v_attribute_values_name_1_2_1='Medium', v_attribute_values_name_1_3_1='Large', 
v_attribute_values_name_1_4_1='Extra Large') " .
"WHERE v_products_model='$fileName'";

这是错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ') WHERE v_products_model=hs_3stm_giantsk.jpg' 附近使用正确的语法

更新:

感谢大家的超快速回复,它解决了我的问题,但不幸的是我不能再接受 9 分钟!

4

6 回答 6

3

尝试格式化您的查询;问题变得更加明显:

$query = "
    UPDATE combined SET 
        v_categories_name_1_1='Hoodie', 
        v_attribute_options_id_1=1,
        v_attribute_values_id_1_1=1,
        v_attribute_values_id_1_2=2, 
        v_attribute_values_id_1_3=3, 
        v_attribute_values_id_1_4=4, 
        v_attribute_values_price_1_1=0, 
        v_attribute_values_price_1_2=0, 
        v_attribute_values_price_1_3=0,
        v_attribute_values_price_1_4=0, 
        v_attribute_options_name_1_1='Size',
        v_attribute_values_name_1_1_1='Small', 
        v_attribute_values_name_1_2_1='Medium', 
        v_attribute_values_name_1_3_1='Large', 
        v_attribute_values_name_1_4_1='Extra Large')
    WHERE v_products_model='$fileName'
";

当您不只是查看一大块文本时,更容易注意到这个糟糕的括号。你(希望)永远不会那样写 PHP,那么为什么要那样写你的 SQL 呢?

于 2012-05-10T21:01:05.557 回答
2

你关闭了你从未打开过的括号。

于 2012-05-10T20:55:33.750 回答
2

)在最后一行之前,您在行尾有一个奇数。

于 2012-05-10T20:55:40.703 回答
2

有一个符号)无缘无故出现:)

于 2012-05-10T20:56:29.513 回答
2

尝试这个

$query = "UPDATE combined SET v_categories_name_1_1='Hoodie', 
v_attribute_options_id_1=1, v_attribute_values_id_1_1=1, v_attribute_values_id_1_2=2, 
v_attribute_values_id_1_3=3, v_attribute_values_id_1_4=4, 
v_attribute_values_price_1_1=0, v_attribute_values_price_1_2=0, 
v_attribute_values_price_1_3=0, v_attribute_values_price_1_4=0, 
v_attribute_options_name_1_1='Size', v_attribute_values_name_1_1_1='Small', 
v_attribute_values_name_1_2_1='Medium', v_attribute_values_name_1_3_1='Large', 
v_attribute_values_name_1_4_1='Extra Large' " .
"WHERE v_products_model='$fileName'";

我删除了括号 beforeWHERE子句。

于 2012-05-10T20:57:00.433 回答
2

此处没有开口的封闭支架

='Extra Large')
于 2012-05-10T20:58:16.380 回答