【发布时间】:2026-01-03 08:05:01
【问题描述】:
我有一个这样的代码块;
$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 行的“年龄”列
但是当我添加 '' 时它将是可为空的变量。但我得到这个错误。我的失败在哪里?
【问题讨论】:
-
发布
$a的预期值的架构和值。现在,它没有任何价值。或者,允许空/NULL 值。 -
如果您希望
age的值在某些情况下为空,那么您必须将其设置为null而不是'' -
错误很明显。年龄字符串为空,查询需要一个值 int
-
@ZibianDomichi 您需要在您的数据库表中创建列
default-valuenull