我需要在我的数据库中插入一个空格(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(我不知道驱动程序版本)
答案 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 );