所以我遇到以下问题:(如果您需要所有代码,请告诉我。)
$required = array('exam_id', 'subject', 'exam_date');
$error = false;
foreach($required as $field) {
if ( !empty($_POST['insert'])) {
$InsertQuery = "INSERT INTO Exam (exam_id, subject, exam_date) VALUES ('$_POST[uexam_id]','$_POST[usubject]','$_POST[uexam_date]')";
mysql_query($InsertQuery, $con);
$error = true;
}
}
if ($error) {
die ("All fields are required!");
echo "<a href='examisud.php'> Back to Form </a>";
}
基本上我希望所有字段都是必需的。当一个被遗漏时,会弹出一个错误,说“所有字段都是必需的”。 上面的代码不起作用,因为填写所有字段时,弹出错误并且不会将它们添加到数据库中。但是当一个字段丢失时,会弹出错误,但它会将填写的字段添加到数据库中; - insert语句不再有效。 - 当一个或多个字段留空时工作。 - 我需要所有字段都需要,当1留空时,会弹出一个错误,并显示文本以带你回去填写表格。 在此先感谢您的帮助!
(另外,不要担心SQL注入,这是我自己的wamp服务器上的个人项目)
答案 0 :(得分:0)
如果我理解您的要求,那么您就会想要:in_array
此外,您的代码非常不安全,我会采取预防措施,现在mysql_
函数也已折旧。您可能需要查看mysqli_或PDO
in_array
将检查是否在数组中找到了值。
$my_array = array("Your Value", "The Value", "Awesomeness");
if (in_array("Your Value", $my_array)) {
//success, it was found in our array
} else { /*Not found, do something.*/ }
我希望这可以澄清一些事情,我仍然不确定你在问什么,但我认为这就是你所要求的。
答案 1 :(得分:0)
var_dump($InsertQuery)
在你宣布它出现错误之后
单引号不传递值,而是按字面解释。删除它们,查询将可操作。