如何在php中绑定prepare语句中的参数?

如何在php中绑定prepare语句中的参数?,php,mysqli,prepared-statement,sqlbindparameter,Php,Mysqli,Prepared Statement,Sqlbindparameter,我想在prepare语句中发送数组值,但它不起作用 我的代码是: for($bb=0; $bb<sizeof($subject_temp_array)-1; $bb++) { $sql ="select * from tbl_subjects where sub_id = ?"; if ($result = $mysqli->prepare($sql)) { $subject_id = $subject_temp_array[$bb];

我想在prepare语句中发送数组值,但它不起作用

我的代码是:

for($bb=0; $bb<sizeof($subject_temp_array)-1; $bb++)
 {
    $sql ="select * from tbl_subjects where sub_id = ?";
    if ($result = $mysqli->prepare($sql)) 
    {
       $subject_id = $subject_temp_array[$bb];
       $result -> bind_param("i",$subject_id); 
       $result->execute();
       $result->store_result();
       $rows1 = $result->num_rows;
     }
  }
for($bb=0;$bbprepare($sql))
{
$subject\u id=$subject\u temp\u数组[$bb];
$result->bind_参数(“i”,$subject_id);
$result->execute();
$result->store_result();
$rows1=$result->num_行;
}
}

为什么不使用foreach?此外,您是否遇到任何错误消息?请尝试以下代码:

error_reporting(-1);
ini_set('display_errors', 1);

foreach($subject_temp_array as $subject_id)
{
    $sql = "select * from tbl_subjects where sub_id = ?";
    if ($result = $mysqli->prepare($sql)) 
    {
       $result->bind_param("i", $subject_id); 
       $result->execute();
       $result->store_result();
       $rows1 = $result->num_rows;
     } else {
         throw new Exception("Error preparing query.");
     }
}

您确定您的表有多个ID吗?您如何断定它只返回一行$行1将在每次迭代中被覆盖,也许您应该使用$rows[]=$result->num_rows;存储每个ID的结果数。