php sql动态绑定参数问题
$params数组中有3个元素 当我单独使用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到$
$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);