在mysqli bind_param中使用变量

时间:2017-03-06 13:11:44

标签: php mysqli

我有许多类似(但不完全相同)的sql语句。每个调用的参数类型都不同,所以我想将它们作为变量传递。像这样:

$stmt->bind_param( $typeString, $parameter1, $parameter1 );

$ typeString可以设置为' ss'或者'是'或者' ds'。

我得到错误类型定义字符串中的元素数量与匹配变量的数量不匹配。

我试过(例如)

$typeString = "is";
$typeString = "\'".$typeString."\'";
$stmt->bind_param( $typeString, $parameter1, $parameter1 );

$typeString = "is";
$stmt->bind_param( $typeString, $parameter1, $parameter1 );

但仍然会出错。

是否可以使用变量设置?

1 个答案:

答案 0 :(得分:1)

  1. 第一个变体毫无意义,因为不应将引号发送到类型定义列表中。
  2. 第二种变体确实有效。
  3. 设置特定参数几乎没有用处。只需使用's'即可。