我很好奇是否有办法一次绑定参数数组?
简单来说,就像这样:
$sql = "SELECT * FROM table WHERE id IN (?)";
$stmt = $db->prepare($sql);
$stmt->bind_param("<array>", $array_of_ids);
$stmt->execute();
思想?
答案 0 :(得分:0)
我不认为你可以这样做,但是如果你设置了一系列参数和值,你可以使用类似
的foreach循环$params=array(
':id'=>1,
':cat'=>'bananas'
':type'=>100
);
foreach( $params as $param=>$value )$stmt->bind_param( $param,$value );
答案 1 :(得分:0)
从PHP 5.6开始,这可以通过...运算符实现(另请参阅documentation)。此运算符在调用函数时解包列表,导致列表像多个变量一样运行。
您可以使用以下内容:
$stmt->bind_param($types, ...$data);
这假设$types
是包含数据类型的字符串,$data
是包含查询数据的列表。