将布尔值true / false插入Postgres和MySQL

时间:2015-07-24 11:19:05

标签: php mysql postgresql pdo

我与DB战斗,尝试使用列布尔值向我的表中插入true和false值,但总是得到错误:

  

参数编号无效

测试:

functions['weather'] == 1

有人可以告诉我吗? 感谢

编辑: 完整代码看起来像:

$value = true
$value = "true"
$value = 1

完整错误:

  

SQLSTATE [HY093]:参数号无效:: vin

2 个答案:

答案 0 :(得分:1)

在插入查询中忘记:vin。值中的参数数量不等于bindValue

 $sql = "INSERT INTO r_vehicle_model(code, name, kind, ts, vin, smr, ire, manufacturer_code) VALUES(:code, :name, :kind, :ts, ,:vin ,:smr, :ire, :manufacturer_code)";

答案 1 :(得分:1)

您目前正在使用PDO::PARAM_STR来指定您传递的所有参数都是字符串。

您应该为该字段选择合适的类型,因此对于布尔值,请考虑使用PDO::PARAM_BOOL

http://php.net/manual/en/pdo.constants.php