PDO整数可空值问题

时间:2017-08-21 11:31:29

标签: php mysql pdo php-5.6

我有这样的代码块;

$a='';

$Query =$db->prepare("UPDATE TblUsers
SET Age = :age
WHERE
 IsActive=1 ")
$Query->bindParam(":age",$a,PDO::PARAM_INT);
$Query->execute();

当我运行此代码时,我收到此错误;

  

PHP致命错误:未捕获的异常' PDOException'与消息   ' SQLSTATE [HY000]:常规错误:1366错误的整数值:''对于   专栏'年龄'在第1行'

但是当我添加'' 。但我得到这个错误。我的失败在哪里?

1 个答案:

答案 0 :(得分:1)

您需要使用bindValue,如下所示: -

$Query =$db->prepare("UPDATE TblUsers
SET Age = :age
WHERE
 IsActive=1 ")
$Query->bindValue(':age', $a, PDO::PARAM_INT);
$Query->execute();

bindParam接受变量,引用,并且在调用bindParam时不会引入值。

Referecne: - How do I insert NULL values using PDO?