PDO 整数可为空值问题
PDO integer nullable value issue
我有一个这样的代码块;
$a='';
$Query =$db->prepare("UPDATE TblUsers
SET Age = :age
WHERE
IsActive=1 ")
$Query->bindParam(":age",$a,PDO::PARAM_INT);
$Query->execute();
当我 运行 这个代码时,我得到这个错误 ;
PHP Fatal error: Uncaught exception 'PDOException' with message
'SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for
column 'Age' at row 1'
但是当我添加 '' 时它将是可为 null 的变量。但我得到这个错误。我的失败在哪里?
您需要像下面这样使用 bindValue
:-
$Query =$db->prepare("UPDATE TblUsers
SET Age = :age
WHERE
IsActive=1 ")
$Query->bindValue(':age', $a, PDO::PARAM_INT);
$Query->execute();
bindParam
接受一个变量来引用,并且在调用 bindParam
.
时不引入值
参考文献:-How do I insert NULL values using PDO?
我有一个这样的代码块;
$a='';
$Query =$db->prepare("UPDATE TblUsers
SET Age = :age
WHERE
IsActive=1 ")
$Query->bindParam(":age",$a,PDO::PARAM_INT);
$Query->execute();
当我 运行 这个代码时,我得到这个错误 ;
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'Age' at row 1'
但是当我添加 '' 时它将是可为 null 的变量。但我得到这个错误。我的失败在哪里?
您需要像下面这样使用 bindValue
:-
$Query =$db->prepare("UPDATE TblUsers
SET Age = :age
WHERE
IsActive=1 ")
$Query->bindValue(':age', $a, PDO::PARAM_INT);
$Query->execute();
bindParam
接受一个变量来引用,并且在调用 bindParam
.
参考文献:-How do I insert NULL values using PDO?