php - 绑定(bind) boolean 值的 bind_param 问题

标签 php mysqli boolean prepared-statement bindparam

我在 PHP5 中使用 mysqli_stmt::bind_param 绑定(bind) boolean 值时遇到问题。

SQL查询如下:

insert into `nvp_notes` (subject,messageid,receivedate,read) values (?,?,?,?)

'read' 是一个 tinyint,要么是 0 要么是 1,因为我在使用 mysqli 时遇到过 bit 问题。所以我在 bind_param 中列出的类型是:

$stmt->bind_param('sdsd', ...);

我也尝试过“sdsb”和“sdss”,但似乎没有任何效果,而且我总是收到消息:

Warning: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement

当我删除语句中的读取字段时,一切正常。我已经用完了这个想法。 bind_param 肯定适用于 boolean 值吗?

最佳答案

您可以使用 intval() 将 boolean 值转换为 1 或 0 (或使用 (int)(integer) 进行转换)。根据mysqli_stmt::bind_param()'s documentation ,您可以绑定(bind)的唯一类型是整数、 double 、字符串和 blob。

关于php - 绑定(bind) boolean 值的 bind_param 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/459674/

相关文章:

c If 或 elseif boolean 值

php - Blob 数据类型图像未存储在数据库中

javascript - 创建收藏夹/书签列表

php - 在PHP版本5.4中调用未定义的函数mysql_connect()

php - 警告 : mysqli_stmt_bind_param() expects parameter 1 to be mysqli_stmt, bool 值给出?

php - 将 blob 图像(存储在数据库中)下载到我的计算机

java - Java中使用compareTo进行排序

C++ boolean 数组初始化

php - 扩展 Magento 的 EAV 属性模型

php - 推进 - 从哪里开始