如何将mysqli_stmt_bind_param用于整数,布尔值等

时间:2013-08-09 14:08:26

标签: php data-binding parameters mysqli prepared-statement

我正在尝试使用此方法将参数绑定到其特定类型:

mysqli_stmt_bind_param(mysqli_stmt stmt,string types,mixed& var1 [,mixed& ...])

据我所知,第二个参数是一系列类型

* s is for strings
* d is for decimals
* i is for integers
* b is for blob

我不确定“blob”是什么。

现在我的问题是,如何将布尔型变量绑定到此方法中?有没有办法做到这一点?

以下更多信息。 这些是我的变量: (roomType,roomPrice,roomQty,numBeds,smokingAvail,accessibleRm)

   roomType: string coming from web form
   roomPrice: decimal coming from a web form 
   roomQty: integer coming from web form
   numBeds: integer coming from web form
   smokingAvail: Boolean coming from web form
   accessibleRm: Boolean coming from web form

2 个答案:

答案 0 :(得分:1)

您可以对所有类型使用string。 Mysql将对它们进行排序。

答案 1 :(得分:0)

要传递布尔值,您也应该使用i: 如果您传递字符串,则始终将其视为不等于false的值(对于布尔值,除非传递空字符串)

$stmt = $mysqli->prepare ('some query');
$stmt->bind_param("dsi",$price,$name,$sex); 

并传递整数i 对于小数点d