请帮助我。 我insered为VARCHAR列PDO插入特定的数据类型
$nul='mystring';
$STH->bindParam(':param',$nul , PDO::PARAM_INT);
如果PDO :: PARAM_INT意味着进入数据库插入数(INT)$ NUL = 0!有一个记录字符串'mystring'。这是为什么?
请帮助我。 我insered为VARCHAR列PDO插入特定的数据类型
$nul='mystring';
$STH->bindParam(':param',$nul , PDO::PARAM_INT);
如果PDO :: PARAM_INT意味着进入数据库插入数(INT)$ NUL = 0!有一个记录字符串'mystring'。这是为什么?
见PHP PDO::bindParam() data types.. how does it work?
PDO :: PARAM_INT只布尔转换为整数。没有其他的。
如果你想将字符串转换为int使用INTVAL
假设我正确理解你的问题,你想要的数值为空(不确定的值),在数据库中,但在实践中你得到的字符串“NUL”。
如果要设置一些为null,它并不需要撇号。
// Setting the value of the string
$string_to_insert = 'my_string';
// Checks that the string has a value, if not sets to NULL
$value = isset($string_to_insert) ? $string_to_insert : null;
// Bind the parameter
$STH->bindParam(':param', $value, PDO::PARAM_INT);
如果你在它周围放置了撇号,你会在你的数据库中接收到这个文字字符串。
NULL是一个常数,检查出的文档这里http://www.php.net/manual/en/language.types.null.php
我很抱歉,我没有带来一个很好的例子。我想说任何字符串,不是null。非常感谢您对您的例子 –
,以便它检查存在插入值我已经改变了,如果不是它设置为null。这是否回答这个问题? – Luke
或简单地施放它:'$ STH-> bindParam(':param',(int)$ nul,PDO :: PARAM_INT);' – h2ooooooo
好的答案!谢谢 –
真的,你也可以施放它。技术上讲,演员阵容更快。 –