首页 > 解决方案 > PDO 正在为空值插入“null”

问题描述

我正在使用 PDO 写入 sqlite 数据库。

// $dbo is an instance of PDO

$query     = "INSERT INTO items (id, name, rank) VALUES (:id, :name, :rank)";
$statement = $dbo->prepare($query);

$values = array('id' => 1, 'name' => 'Some Name', 'rank' => '');
 
$statement->execute($values);

$values = array('id' => 1, 'name' => 'Some Name', 'rank' => NULL);
 
$statement->execute($values);

在执行任何这些之后,我希望“rank”是一个空字符串,甚至可以接受 NULL。但是我在数据库中得到的是'null',是一个字符串'null'值,而不是真正的NULL.

多次尝试后找不到任何解决方案。

标签: phpsqlitepdo

解决方案


尝试在这一行直接发送 NULL

  $values = array('id' => 1, 'name' => 'Some Name', 'rank' => NULL);

推荐阅读