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構文にエラーがあります。1行目の')WHERE v_products_model = hs_3stm_giantsk.jpg'の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。

アップデート:

超高速の返信をありがとうございました。残念ながら、さらに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'
";

その悪いパレンは、1つの大きなテキストの塊を見ているだけではない場合に、はるかに簡単に気付くことができます。あなたは(願わくば)そのようなPHPを決して書かないでしょう、それでなぜあなたのSQLをそのように書くのですか?

于 2012-05-10T21:01:05.557 に答える
2

ここに開口部のない囲みブラケット

='Extra Large')
于 2012-05-10T20:58:16.380 に答える
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'";

WHERE句の前に角かっこを削除しました。

于 2012-05-10T20:57:00.433 に答える