PHP/MySQLi-作为bind_参数的数组

PHP/MySQLi-作为bind_参数的数组,php,mysqli,prepared-statement,Php,Mysqli,Prepared Statement,我很好奇是否有一种方法可以同时绑定参数数组 简单地说,是这样的: $sql = "SELECT * FROM table WHERE id IN (?)"; $stmt = $db->prepare($sql); $stmt->bind_param("<array>", $array_of_ids); $stmt->execute(); $sql=“从(?)中id所在的表中选择*”; $stmt=$db->prepare($sql); $stmt->bind_参数

我很好奇是否有一种方法可以同时绑定参数数组

简单地说,是这样的:

$sql = "SELECT * FROM table WHERE id IN (?)";
$stmt = $db->prepare($sql);
$stmt->bind_param("<array>", $array_of_ids);
$stmt->execute();
$sql=“从(?)中id所在的表中选择*”;
$stmt=$db->prepare($sql);
$stmt->bind_参数(“,$array_of_id”);
$stmt->execute();

想法?

我不认为您可以这样做,但是如果您设置了一个参数和值数组,您可以使用类似的foreach循环

$params=array(
    ':id'=>1,
    ':cat'=>'bananas'
    ':type'=>100
);
foreach( $params as $param=>$value )$stmt->bind_param( $param,$value );

由于PHP5.6,这是可能的与。。。操作员(另请参阅)。此运算符在调用函数时解压列表,使列表的行为类似于多个变量

您可以使用以下选项:

$stmt->bind_param($types, ...$data);

这假设
$types
是一个包含数据类型的字符串,
$data
是一个包含查询数据的列表。

对此不确定。待定。遗憾的是,没有,可能重复: