我有一个mysql连接的问题,我想执行一个查询内一段时间的mysqli\uFetch\uAssoc,但我得到的错误,如“命令不同步;现在不能运行此命令”。
<?php
$sql = "call sp_getUpline('$user_id')";
$result = mysqli_query($connection,$sql);
$numrow = mysqli_num_rows($result);
if($numrow > 1)
{
while($resultArray = mysqli_fetch_assoc($result))
{
$parent_id = $resultArray['parent_id'];
if($parent_id != null)
{
$Level = $resultArray['Level'] + 1;
$comp_sql = "SELECT * FROM user_comp_plan where id='$parent_id'";
$comp_result = mysqli_query($connection, $comp_sql) or die(mysqli_error($connection)); //getting error here
}
}
}
?>
更新
我将结果存储在数组中,但仍然得到相同的问题。
<?php
$sql = "call sp_getUpline('$user_id')";
$result = mysqli_query($connection,$sql);
echo $numrow = mysqli_num_rows($result);
if($numrow > 1)
{
$data = array();
while($resultArray = mysqli_fetch_assoc($result))
{
$data[] = $resultArray;
}
for($i = 0; $i < count($data); $i++){
$parent_id = $data[$i]['parent_id'];
if($parent_id != null)
{
$Level = $data[$i]['Level'] + 1;
$comp_sql = "SELECT * FROM user_comp_plan where id='$parent_id'";
$comp_result = mysqli_query($connection, $comp_sql) or die(mysqli_error($connection)); //getting error here
}
}
}
?>
1条答案
按热度按时间bogh5gae1#
您不能同时有两个查询,因为mysqli默认使用非缓冲查询。您可以将第一个查询提取到一个数组中并在其中循环,或者告诉mysqli使用mysqli::store\u result缓冲查询