【问题标题】:How to use mysqli_stmt_bind_param for integers, boolean, etc如何将 mysqli_stmt_bind_param 用于整数、布尔值等
【发布时间】:2023-03-11 12:29:01
【问题描述】:

我正在尝试使用这种方法将参数绑定到它们的特定类型:

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

【问题讨论】:

  • 布尔值将是 i,因为您应该传递 1 或 0

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


【解决方案1】:

您可以将string 用于所有类型。 mysql会整理出来的。

【讨论】:

    【解决方案2】:

    要传递布尔值,您也应该使用 i: 如果你传递字符串,它总是认为它不等于 false(在布尔的情况下,除非你传递空字符串)

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

    并传递整数 i 对于小数 d

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-13
      • 1970-01-01
      • 2016-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-20
      相关资源
      最近更新 更多