私はすでにWHERE 句を使用してクエリに配列を渡すを読んだことがありますが、これは基本的に私が行っていることですが、整数ではなく文字列を使用しています。WHERE 句に問題があります。
$codes_imp = "'" . implode("','", $codes) . "'";
$passwords_imp = "'" . implode("','", $passwords) . "'";
$comments_imp = "'" . implode("','", $comments) . "'";
$set_pass_query = "INSERT INTO users (password, comments) VALUES ($passwords_imp, $comments_imp) WHERE Code IN ($codes_imp)";
実行すると、クエリは次のようになります。
INSERT INTO users (password, comments)
VALUES ('password1', 'password2', 'password3', 'comment1', 'comment2', 'comment3')
WHERE Code IN ('code1', 'code2', 'code3')
テーブル内のすべての列のタイプはVARCHAR
です。明らかに構文エラーがあります (それが教えてくれます) が、これを適切に構築する方法がわかりません。