0

我需要在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(我不知道驱动程序版本)

4

2 回答 2

0

你试过使用绑定值吗?

bindValue( ':foo', '', PDO::PARAM_STR );
bindValue( ':bar', 'bang', PDO::PARAM_STR );
于 2011-12-29T00:03:08.807 回答
0

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

在你的 PDO 手柄上试试这个:

$pdo->setAttribute(PDO::ATTR_ORACLE_NULLS, PDO::NULL_NATURAL);
于 2011-12-28T23:43:41.050 回答