我不必担心mysql贬值,也不必担心SQL注入(inject),只是一个个人项目
我的代码:
if ($_SERVER['REQUEST_METHOD'] == 'POST') { // check if the user submits data (POST) or just loads the page (GET)
$error = false;
$required = array('uexam_id', 'usubject', 'uexam_date'); //VALIDATION: first check all required fields are not empty.
foreach($required as $field) {
if (!isset($_POST[$field]) || empty($_POST[$field])) {
$error = true;
break;
}
}
//if a field was empty, show error
if ($error) {
die("All fields required!!! <a href='examisud.php'> Back to PHP Form </a>");
} else {
$InsertQuery = "INSERT INTO Exam (exam_id, subject, exam_date) VALUES ('".mysql_real_escape_string($_POST["uexam_id"], $con)."','".mysql_real_escape_string($_POST["usubject"], $con)."','".mysql_real_escape_string($_POST["uexam_date"], $con)."')";
$result = mysql_query($InsertQuery, $con) or die('query Failure:'. mysql_error());
}
}
我这里有一个表面/审美问题。 插入/更新/删除查询工作正常,但是这个 foreach 循环似乎给我带来了麻烦。 每次我导航到此页面 (examisud) 时,都会收到错误“所有字段均必填”。除此之外,实际上并没有发生任何错误,它只是显示消息。由于某种原因,这是在页面加载中。 此外,每当我更新或删除时,错误消息都会再次显示,但字段中的值会像预期的那样更新/删除。 这很奇怪,我希望有人能指出我的方法,以阻止此循环仅在我需要时出现,即当字段留空时??? 非常感谢任何帮助!
最佳答案
试试这个:
每次页面加载时,您的条件都会成立。
删除此内容:if ($_SERVER['REQUEST_METHOD'] == 'POST')
使用这个:if (!empty($_POST))
关于php - 插入查询foreach循环麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22756010/