当存在多个参数时,php无法识别查询中的绑定参数
因此,我无法找出问题所在,就好像我只绑定了其中一个参数一样,它是有效的。如果两者都存在,那么它会给我 警告:mysqli_stmt::bind_param():变量的数量与prepared语句`中的参数数量不匹配,并且不生成任何输出 它似乎无法识别where子句中的第二个参数。如果有人能帮我,谢谢!如果我替换?在phpMyAdmin中运行。CNIC应该是一个post值,并且为测试目的而硬编码当存在多个参数时,php无法识别查询中的绑定参数,php,mysqli,Php,Mysqli,因此,我无法找出问题所在,就好像我只绑定了其中一个参数一样,它是有效的。如果两者都存在,那么它会给我 警告:mysqli_stmt::bind_param():变量的数量与prepared语句`中的参数数量不匹配,并且不生成任何输出 它似乎无法识别where子句中的第二个参数。如果有人能帮我,谢谢!如果我替换?在phpMyAdmin中运行。CNIC应该是一个post值,并且为测试目的而硬编码 $sql = "SELECT c.cnic, c.name, c.cell_phone, c.
$sql = "SELECT c.cnic, c.name, c.cell_phone, c.address
FROM cheetay_customers as c
INNER JOIN policies as p ON c.CNIC = p.cnic WHERE `c`.`CNIC`= ?
AND `p`.`partnerName`= ?";
if($stmt = $con->prepare($sql)) {
$cnic = 1267890;
$stmt->bind_param("i", $cnic);
$stmt->bind_param("s", $_SESSION['access']);
$stmt->execute();
$stmt->bind_result($cnic, $name,$cell_phone,$address);
while ($stmt->fetch()) {
echo "CNIC: {$cnic}, Name: {$name}, Cell Phone: {$cell_phone}, Address: {$address}";
}
} else {
$error = $con->errno . ' ' . $con->error;
echo $error;
}
调用
bind_param
一次并一次性传递所有参数
$stmt->bind_param("is", $cnic, $_SESSION['access']);
旁注:如果您正在构建新的东西,请尝试切换到PDO以节省大量的编码和麻烦;-)