Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php sql动态绑定参数问题_Php_Mysql_Sql_Prepared Statement - Fatal编程技术网

php sql动态绑定参数问题

php sql动态绑定参数问题,php,mysql,sql,prepared-statement,Php,Mysql,Sql,Prepared Statement,$params数组中有3个元素 当我单独使用$branchid或$chainid时,它们工作得很好,但当我同时使用它们时,它们都不起作用,而且我几乎100%肯定这与组合时的“&”(引用)有关 有什么办法让它工作吗 第一个var_dump(单过滤器)(此过滤器有效) 第二个var_转储(两个过滤器)(不工作) 我明白了,我需要在第二个过滤器上加一个空格字符,因为当我组合两个过滤器时,$sql是“和a=a和b=b”您是否尝试从代码中去掉&?尝试添加一个点$params[]。=&$branchid到$

$params数组中有3个元素

当我单独使用
$branchid
$chainid
时,它们工作得很好,但当我同时使用它们时,它们都不起作用,而且我几乎100%肯定这与组合时的“&”(引用)有关

有什么办法让它工作吗

第一个
var_dump
(单过滤器)(此过滤器有效)

第二个var_转储(两个过滤器)(不工作)


我明白了,我需要在第二个过滤器上加一个空格字符,因为当我组合两个过滤器时,$sql是“和a=a和b=b”

您是否尝试从代码中去掉
&
?尝试添加一个点
$params[]。=&$branchid
$params[]和$chainid你说的“它不工作”是什么意思?你会犯什么错误?另外,通过查看你的问题历史记录,你似乎发布了相同的问题。其中一个你在哪里发布了答案?那么我们在哪里处理这个问题,我的评论代码工作了吗?
array(2) {
  [0]=>
  &string(1) "s"
  [1]=>
  &string(3) "405"
}
array(3) {
  [0]=>
  &string(2) "ss"
  [1]=>
  &string(3) "329"
  [2]=>
  &string(3) "405"
}


$types = '';
        $params = array(&$types);

        if ($branchid != null) {
            $sql .= "AND a.branchid = ?";
            $types .= 's';
            $params[] = &$branchid;
        }
        if ($chainid != null) {
            $sql .= "AND a.chainid = ?";
            $types .= 's';
            $params[] = &$chainid;
        }

var_dump($params);

// SQL //
        if ($stmt = $this->dbCon->prepare($sql)) {
            //$stmt->bind_param("s", $chainid);
            call_user_func_array(array($stmt, 'bind_param'), $params);