Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 准备绑定空白值(非空值)_Php_Mysql_Pdo_Notnull - Fatal编程技术网

Php 准备绑定空白值(非空值)

Php 准备绑定空白值(非空值),php,mysql,pdo,notnull,Php,Mysql,Pdo,Notnull,我需要在我的数据库中插入一个空白(foo=”“),但当我这样做时: bindParam(':foo','',PDO::PARAM_STR); bindParam(':bar','bang',PDO::PARAM_STR); 再看看表格,bar=bang,但是foo为空。我希望它是(空白,不是空格)而不是null (我需要这样做,因为数据将导出到SPSS,空白是SPSS的null) 我看了整个手册和其他部分,我只看到空白的例子,因为在第三个蓝月亮的日食期间金星的奇怪排列 编辑:php 5.3、m

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

bindParam(':foo','',PDO::PARAM_STR);
bindParam(':bar','bang',PDO::PARAM_STR);
再看看表格,
bar
=
bang
,但是
foo
为空。我希望它是
(空白,不是空格)而不是
null

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

我看了整个手册和其他部分,我只看到空白的例子,因为在第三个蓝月亮的日食期间金星的奇怪排列


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

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

在您的PDO句柄上尝试以下操作:

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

你试过使用bindvalue吗

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

让您的列
不为NULL如何?
?简短的回答是,有时我需要一个列为NULL。我确实直接查看了我的Db/表,它显示为NULL。我正在插入/更新而不是获取。你的建议还适用吗?也许还值得一试。在您的问题中提到您的PHP、DB和DB驱动程序版本可能也会有所帮助。PHP 5.3、mysql 5.1,我不知道驱动程序版本您没有使用
PDO::NULL\u EMPTY\u STRING
是吗?