我有一个页面,其中包含允许用户在数据库中输入最多10条记录的信息。我遇到的问题是,在许多(大多数)情况下,用户只会输入一个或两个记录,但数据库插入处理所有空白记录并插入它们。我已经将数据库配置为不接受NULL值,但我怀疑空值不完全等于NULL,这就是为什么记录仍然被插入的原因。如何对此进行编码,以便不将空白记录插入数据库。
当前插入代码:
<?php
if (isset($_POST['submit'])) {
for($i = 0; $i < 10; $i++)
{
$indtypeid = $_POST['indtype'][$i];
$indicator = $_POST['indicator'][$i];
$actorid = $_POST['actor'][$i];
$reportid = $_POST['report'][$i];
print 'Row ' . $i . ': ' . $indtypeid . '-' . $indicator . '-' . $actorid . '<br/>';
$qry_digestreport = "INSERT INTO indicator (indtypeid,indicator,actorid,reportid) VALUES ('$indtypeid', '$indicator', '$actorid', '$reportid')";
if (!mysql_query($qry_digestreport,$connection))
{
die('Error: ' . mysql_error());
}
echo "<br/>Records added!<br/>";
答案 0 :(得分:2)
进行简单的if()
检查:
if (empty($indtypeid) || empty($indicator) || ....) {
continue; // jump to next loop iteration
}
在$_POST
作业完成后。
请注意,您的代码完全容易受到SQL注入攻击,因此您可能希望在http://bobby-tables.com
上阅读相关内容。