热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何使用带有数组作为第二个参数的mysqli::bind_param

如何解决《如何使用带有数组作为第二个参数的mysqli::bind_param》经验,为你挑选了1个好方法。

该查询应该在“用户”表中插入一个新用户

$user = DB::getInstance()->insert('users', array(
        'username' => 'jim',
        'password' => 'pass',
        'salt' => 'salt'
       )
);

对应的insert()

public function insert($table, $fields = array())
{
    if (count($fields)) {
        $keys   = array_keys($fields);
        $values = null;
        $x      = 1;
        foreach ($fields as $field) {
            $values .= "?";
            if ($x queryDB($sql,$fields)){
            echo "its good";
            return true;
        }else{
            echo "bad query";
        }
    }
    return false;
}

尝试将值数组($ param)绑定查询作为bind_param函数的第二个参数

    $stmt = $this->mysqli->prepare($pattern);
    $stmt->bind_param("sss", $param);
    $stmt->execute();

这段代码不断返回“ mysqli_stmt :: bind_param():类型定义字符串中的元素数量与绑定变量的数量不匹配”错误。

我也尝试过call_user_func_array,但一直收到相同的错误。我做错了什么阿米?



1> Nigel Ren..:

从PHP 5.6开始,您可以使用splat运算符 ...

$stmt->bind_param("sss", ...$param);


推荐阅读
author-avatar
ho世英雄
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有