如何在php中绑定prepare语句中的参数?
我想在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];
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的结果数。