PHP,PDO:无法插入零值的新行

时间:2014-04-16 20:36:13

标签: php pdo zero

我正在努力让这个脚本运行,但我失败了一个非常简单的愚蠢的事情,让我在过去的两个小时里继续前进。 我在一个类的函数中编写了一个PDO语句,该类在mysql数据库中插入了一堆整数。 如果我使用

从文件中调用该函数
$result->createResult(0, 0, 0,0,0,0,0,"1234",0);

它不起作用。 如果我使用

$result->createResult(1, 1, 1,1,1,1,1,"1234",1);

它运行得很好! 创建mysql条目的函数是

 public function createResult($id, $pp_id, $i_id, $ii_id, $cs_id, $ed_id, $em_id, $l_id, $ud_id){

    if ($this->databaseConnection()) {
            $query_new_result_insert = $this->db_connection->prepare('INSERT INTO results (id, pp_id, i_id, ii_id, cs_id, ed_id, em_id, l_id, ud_id, created_at) VALUES(:id, :pp_id, :i_id, :ii_id, :cs_id, :ed_id, :em_id, :l_id, :ud_id, now())');
            $query_new_result_insert->bindValue(':id', $id, PDO::PARAM_INT);
            $query_new_result_insert->bindValue(':pp_id', $pp_id, PDO::PARAM_INT);
            $query_new_result_insert->bindValue(':i_id', $i_id, PDO::PARAM_INT);
            $query_new_result_insert->bindValue(':ii_id', $ii_id, PDO::PARAM_INT);
            $query_new_result_insert->bindValue(':cs_id', $cs_id, PDO::PARAM_INT);
            $query_new_result_insert->bindValue(':ed_id', $ed_id, PDO::PARAM_INT);
            $query_new_result_insert->bindValue(':em_id', $em_id, PDO::PARAM_INT);
            $query_new_result_insert->bindValue(':l_id', $l_id, PDO::PARAM_STR);
            $query_new_result_insert->bindValue(':ud_id', $ud_id, PDO::PARAM_INT);

            $query_new_result_insert->execute();
    }
}

这似乎在0值上崩溃。如果我检查(空($ i_id))它返回true。 我无法理解这一点!任何人都可以这么善意帮忙吗?

1 个答案:

答案 0 :(得分:0)

好的,我终于想通了...... 它不是表结构,而是空检查...... 如here

所述,empty在值0上返回true