更新MySQL语法错误

时间:2012-05-10 20:53:26

标签: php mysql sql-update

运行以下查询时出现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'在第1行

更新:

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

6 个答案:

答案 0 :(得分: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呢?

答案 1 :(得分:2)

你关闭了你永远不会打开的parens。

答案 2 :(得分:2)

在最后一行之前的行尾有一个奇数)

答案 3 :(得分:2)

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

答案 4 :(得分: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'";

我在WHERE子句之前删除了括号。

答案 5 :(得分:2)

在此处封闭没有开口的支架

='Extra Large')