【发布时间】:2012-07-27 17:33:14
【问题描述】:
我无法使用 mysql pdo 将默认值为 null 的可空字段设置为 null。我可以使用直接的 sql 来做到这一点。
我试过了:(主要来自这个问题How do I insert NULL values using PDO?)
-
空整数
bindValue(':param', null, PDO::PARAM_INT); -
空空
bindValue(':param', null, PDO::PARAM_NULL); -
'空',整数
bindValue(':param', 'NULL', PDO::PARAM_INT); -
'空',空
bindValue(':param', 'NULL', PDO::PARAM_NULL); -
空
bindValue(':param', null); -
'空'
bindValue(':param', 'NULL'); 以及 5 和 6 的
bindParam对应项,其中包含一个保存绑定值的变量。
所有来自 PDO 的结果都将值设置为 0。
PHP版本: PHP 5.3.2-1ubuntu4.10
MYSQL 服务器版本: 5.1.63-0ubuntu0.10.04.1
编辑 栏目信息截图
【问题讨论】:
-
什么是列类型?那可以为空吗?
-
@DanielA.White 他只是说他可以通过直接 sql 来做到这一点,所以是的,它可以为空。
-
您能否向我们展示您的其余代码,而不仅仅是您的 bindValue 语句?我怀疑如果你已经尝试了所有这些选项并且它不是你的实际数据库的问题,那么它一定是你的其余代码的问题。
-
@Daniel A. White,我已经包含了一个屏幕截图,显示该列可以为空,而且正如 Jon Taylor 所说,我可以使用直接 sql 来做到这一点。
-
@JonTaylor 构建查询的代码有半页长,我不愿分享它。我可以毫无疑问地确认我的值绑定调用肯定会被调用,并且以后不会被覆盖。