我正在做一个简单的数据库构建器函数,它需要一个问题 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++;
}
如果你能帮助我告诉我哪里出了问题,我真的很感激。干杯。