私は、質問ID、4つのオプションID、およびカウント変数を受け取る単純なデータベースビルダー関数を実行しています。
私がやりたいのは、foreachで、オプションを取得し、すべての個別のオプション変数に対してmysql_query()を実行することだけです。ご覧のとおり、foreachでループできるように、それらを配列に配置しました。
$ var変数、つまりオプション値がエラーを引き起こしていると思います。mysqlが私に返したエラーは次のとおりです。
SQL構文にエラーがあります。MySQLサーバーのバージョンに対応するマニュアルで、「option、order」の近くで使用する正しい構文を確認してください。VALUES('e3397df9241278bfcad1945420398baa817acd7a'、 '005e913c9c1a' at line 1
これが私のコードです:
$question_id = $_POST['question_id'];
$option1 = $_POST['option_1'];
$option2 = $_POST['option_2'];
$option3 = $_POST['option_3'];
$option4 = $_POST['option_4'];
$vars = array($option1, $option2, $option3, $option4);
$count = 1;
foreach ($vars as $var){
$id = sha1(microtime());
echo "ID: ".$id."<br/>Q ID: ".$question_id."<br/>Option: ".$var."<br/>Order: ".$count."<br/><br/>";
$result = mysql_query("INSERT INTO question_options (id, question_id, option, order) VALUES ('$id', '$question_id', '$var', '$count') ") or die(mysql_error());
$count++;
}
何が悪いのか教えていただければ幸いです。乾杯。