php - 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
.
多次尝试后找不到任何解决方案。
解决方案
尝试在这一行直接发送 NULL
$values = array('id' => 1, 'name' => 'Some Name', 'rank' => NULL);
推荐阅读
- android - Volley parrams,如何发送值 95 以便服务器不会收到“95”但会收到 95
- vb.net - 带有 Datagridview1.SelectedRows().cells().value 的循环具有“索引超出范围”。[vb.net]
- computer-science - NP 的多项式时间映射缩减
- java - Spring Boot requestDataValueProcessor Bean 定义冲突
- django - Django 2.x - 根据关系数据库内容过滤重定向
- c# - 使用 TEXT 列创建 MySql 数据库
- omnet++ - 如何在 OMNeT++ 中为 wirelesshost.ned 提供 .ini 文件
- javascript - 这是从获取请求中在 React 中显示数据的正确方法吗?如果不是,我该如何更改呈现给组件的 JSX?
- python - 将代码拆分为多个文件与单个源代码
- python - re.findall(r' (.*?)<', string) 如果元素有数字则不返回