检查字段是否完整并插入新数据


Check if fields is complete and Insert new data

你好,所以我有一个名为tables的表,它包含9个字段(' id,第一,第二,第三,第四,第五,第六,第七,八),如果所有这些字段都不是空的,我想把它作为新记录插入到同一个表上。这是我现在的代码:

    $db = new db();
        $bind = array(
        ":tid" => "1"
        );
        $results = $db->select("tables", "tableID = :tid", $bind);
            foreach ($results as $r) {
                $tableID = $r['id'];
                $l1_1 = $r['first'];
                $l1_2 = $r['second'];
                $l1_3 = $r['third'];
                $l1_4 = $r['fourth'];
                $l1_5 = $r['fifth'];
                $l1_6 = $r['sixth'];
                $l1_7 = $r['seventh'];
                $l1_8 = $r['eight'];
            }
if($l1_1 != "" AND $l1_2 != "" AND $l1_3 != "" AND $l1_4 != "" AND $l1_5 != "" AND $l1_6 != "" AND $l1_7 != "" AND $l1_8 != "") 
{
$db->insert("tables", array(
            "first" => $l1_1,
            "second" => $l1_2,
            "third" => $l1_3,
            "fourth" => $l1_4,
        ));
        //insert 2nd record
$db->insert("tables", array(
            "first" => $l1_5,
            "second" => $l1_6,
            "third" => $l1_7,
            "fourth" => $l1_8,
        ));
}

我也有一个很长的代码,它所做的总结是检查字段是否为空,并在那里插入数据,直到所有字段都填满。当输入最后一个数据时,将执行上面的代码。当输入最后一个数据时,它将执行上面的代码,检查所有字段是否为空并插入新数据。这段代码可以工作,但是插入的最后一个数据在插入的新记录中显示为空白。

我知道我的解释含糊不清,但你想知道什么就问我吧。

我相信你的答案在你的If语句中。您正在检查字段是"还是空白。这是不正确的,因为它们在数据库中可能是NULL。有一个答案可以解释你如何解决它。

更好的方法来检查null或空字符串变量?

修改代码如下:

if(isset($l1_1) && trim(($l1_1) != ''
 AND isset($l1_2) && trim(($l1_2) != ''
 AND isset($l1_3) && trim(($l1_3) != ''
 AND isset($l1_4) && trim(($l1_4) != ''
 AND isset($l1_5) && trim(($l1_5) != ''
 AND isset($l1_6) && trim(($l1_6) != ''
 AND isset($l1_7) && trim(($l1_7) != ''
 AND isset($l1_8) && trim(($l1_8) != '')