MySQLi : Dynamic bind_param() parameters
I would like to dynamically pass data for bind parameters, depending on
user selection.
Error:
Warning: Wrong parameter count for mysqli_stmt::bind_param()
CODE:
$query="SELECT COUNT(*) FROM database WHERE parameter_zero ='approved'";
if(!empty($_GET['first_parameter'])) {
$queryPart[] = 'first_parameter=?';
$type[]='s';
$value[]=$_GET['first_parameter'];
}
if(!empty($_GET['second_parameter'])) {
$queryPart[] = 'second_parameter=?';
$type[]='s';
$value[]=$_GET['second_parameter'];
}
if(!empty($_GET['third_parameter'])) {
$queryPart[] = 'third_parameter=?';
$type[]='s';
$value[]=$_GET['third_parameter'];
}
$query.= ' AND '.implode(' AND ',$queryPart);
$bind = implode('',$type).','.implode(',',$value);
if ($res = $con->prepare($query)) {
$res->bind_param($bind);
$res->execute();
$cRes = $res-> $fetch_row();
} else error($con->error);
echo $cRes;
I figured out that you must pass variables, and not fixed strings produced
by these variables, but i dont know how to pass them as variables to
bind_param in any other way.
No comments:
Post a Comment