我在 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/