Quantcast
Channel: PHP Freaks: PHP Help
Viewing all articles
Browse latest Browse all 13200

MySQLi : Dynamic bind_param() parameters

$
0
0

I would like to dynamically pass data for bind parameters, depending on user selection.
This code gives me two errors:

Warning: Invalid argument supplied for foreach()
Warning: Wrong parameter count for mysqli_stmt::bind_param()
$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=array_merge($type,$value);

if ($res = $con->prepare($query)) {


call_user_func_array(array($count,'bind_param'),ref($bind));
$res->execute();
$cRes = $res-> $fetch_row();
$count -> close();

} else error($con->error);

echo $cRes;

function ref($arr) {
    
    $refs=array();
    foreach($arr as $key => $value) {
        $refs[$key] = &$arr[$key];
    }
    return $refs;
}

Viewing all articles
Browse latest Browse all 13200

Trending Articles