首页 > 后端开发 > php教程 > 如何在MySQLi查询中高效绑定多个参数?

如何在MySQLi查询中高效绑定多个参数?

Mary-Kate Olsen
发布: 2024-12-11 05:26:10
原创
313 人浏览过

How Can I Efficiently Bind Multiple Parameters in MySQLi Queries?

MySQLi 查询中多个参数的灵活绑定

目前,为了将多个参数绑定到 MySQLi 查询中,采用以下重复结构:

if ($words_total == 1)
{
    $statement -> bind_param("s", $words[0]);
}
// ... more if-else conditions for each possible number of parameters ...
登录后复制

要计算查询中需要的问号数量,以下代码使用的是:

$marks = "";
for($i = 1; $i<=$words_total; $i++) {
    if ($i == $words_total)
        $marks .= "?";
    else
        $marks .= "?,";
}
登录后复制

参数拆包的改进方法

幸运的是,PHP 5.6 引入了参数拆包运算符 (...),它简化了多个参数的绑定参数。该运算符可以与数组一起使用,而不是依赖于静态类型字符串:

// create an array of parameter values
$parameters = [$words[0], $words[1], ... $words];

// create a type string dynamically
$types = str_repeat('s', count($parameters));

// bind the array using argument unpacking
$statement -> bind_param($types, ...$parameters);
登录后复制

通过这种方法,无论参数数量如何,都可以动态处理绑定。

以上是如何在MySQLi查询中高效绑定多个参数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板