准备绑定空值(不是空值)

时间:2011-12-28 23:38:12

标签: php mysql pdo notnull

我需要在我的数据库中插入一个空格(foo=""),但是当我这样做时:

bindParam(':foo','',PDO::PARAM_STR);
bindParam(':bar','bang',PDO::PARAM_STR);

查看表格bar = bang,但foo为空。我希望它是(空白,不是空格)而不是null

(我需要这样做,因为数据将导出到SPSS,空白是SPSS的null

我通过php.net/…/pdo.constants以及本手册的其余部分看过,我只看到空白插入的实例,因为在第三个月亮的月食期间金星的奇怪对齐。

编辑:php 5.3,mysql 5.1(我不知道驱动程序版本)

2 个答案:

答案 0 :(得分:0)

PDO应该插入空字符串(直接检查数据库以确认这一点)。但是,我认为当获取数据时,PDO会将空字符串强制为NULL,除非你告诉它不要。

在您的PDO句柄上试试这个:

$pdo->setAttribute(PDO::ATTR_ORACLE_NULLS, PDO::NULL_NATURAL);

答案 1 :(得分:0)

你尝试过使用bindvalue吗?

bindValue( ':foo', '', PDO::PARAM_STR );
bindValue( ':bar', 'bang', PDO::PARAM_STR );
相关问题