【发布时间】:2012-10-08 00:53:59
【问题描述】:
我正在做一个简单的数据库构建器函数,它接受一个问题 ID、4 个选项、一个 ID 和一个计数变量。
我要做的就是在 foreach 中,获取选项并对所有单独的选项变量执行 mysql_query()。如您所见,我已将它们放在一个数组中,因此我可以在 foreach 中循环它们。
我认为 $var 变量,即选项值正在处理错误。 mysql返回给我的错误是:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在 'option, order) VALUES ('e3397df9241278bfcad1945420398baa817acd7a', '005e913c9c1a' at line 1'附近使用第 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++;
}
非常感谢您能帮我看看哪里出了问题。干杯。
【问题讨论】:
标签: php mysql arrays variables foreach