如何使用准备好的语句将布尔值放入 mysql 数据库?
Posted
技术标签:
【中文标题】如何使用准备好的语句将布尔值放入 mysql 数据库?【英文标题】:How do I put booleans into a mysql database with prepared statements? 【发布时间】:2012-06-26 06:24:13 【问题描述】:根据php manual,mysqli->bind_param
的四种变量类型是
-
整数,
双倍,
字符串和
斑点。
插入布尔值的最佳方法是什么?
【问题讨论】:
【参考方案1】:无论如何,MySQL 并不真正存储布尔值,这是一个技巧。
实际格式是TINYINT
,我猜pdo是integer
。
您必须将真/假转换为 1/0,例如 intval
。
【讨论】:
是否可以将布尔 php 值直接放入准备好的语句中,还是必须转换?例如。 $test = false - 我可以将 test 作为 TINYINT 插入还是需要先将 $test 转换为 int? 当您尝试将布尔值放入字符串时,PHP 会将布尔值转换为空值,因此它不会按预期执行 1/0。只需在准备调用中执行 $booleanvar?1:0 即可。以上是关于如何使用准备好的语句将布尔值放入 mysql 数据库?的主要内容,如果未能解决你的问题,请参考以下文章
使用准备好的语句将多个带前缀的表移动到存档数据库,为啥这个 MySQL 语句无效?
将“Execute statement”结果放入MySQL的变量中
java - 如何在java中为mysql的JSON数据类型使用准备好的语句?