我在PHP5中使用mysqli_stmt :: bind_param绑定布尔值时遇到问题.
SQL查询如下:insert into nvp_notes
(subject,messageid,receivedate,read)值(?,?,?,?)
'read'是一个tinyint,0或1,因为我有使用mysqli的位问题.所以我在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适用于布尔?
您可以使用intval()将布尔值转换为1或0 (或使用(int)或(整数)转换它).根据mysqli_stmt :: bind_param()的文档,您可以绑定的唯一类型是整数,双精度数,字符串和blob.