输出sql发现,字段类型均被改为了字符串类型。导致更新数据失败。
查看源代码 Query.php
发现第1483行
$this->bind[$key] = [$value, $type];
$type 始终为默认值‘PDO::PARAM_STR’未根据值去判断类型。以致于所有类型均会被转为字符串处理。
if(is_int($value))
$type = PDO::PARAM_INT;
elseif(is_bool($value))
$type = PDO::PARAM_BOOL;
elseif(is_null($value))
$type = PDO::PARAM_NULL;
elseif(is_string($value))
$type = PDO::PARAM_STR;
else
$type = FALSE;
在1483行插入判断,问题解决。发此贴愿能帮助其他人跳出此坑!参考http://php.net/manual/zh/pdostatement.bindvalue.php

最佳答案
