MySQLi 查询中多个参数的灵活绑定
目前,为了将多个参数绑定到 MySQLi 查询中,采用以下重复结构:
1 2 3 4 5 | if ( $words_total == 1)
{
$statement -> bind_param( "s" , $words [0]);
}
|
登录后复制
要计算查询中需要的问号数量,以下代码使用的是:
1 2 3 4 5 6 7 | $marks = "" ;
for ( $i = 1; $i <= $words_total ; $i ++) {
if ( $i == $words_total )
$marks .= "?" ;
else
$marks .= "?," ;
}
|
登录后复制
参数拆包的改进方法
幸运的是,PHP 5.6 引入了参数拆包运算符 (...),它简化了多个参数的绑定参数。该运算符可以与数组一起使用,而不是依赖于静态类型字符串:
1 2 3 4 5 6 7 8 | $parameters = [ $words [0], $words [1], ... $words ];
$types = str_repeat ( 's' , count ( $parameters ));
$statement -> bind_param( $types , ... $parameters );
|
登录后复制
通过这种方法,无论参数数量如何,都可以动态处理绑定。
以上是如何在MySQLi查询中高效绑定多个参数?的详细内容。更多信息请关注PHP中文网其他相关文章!