У меня проблема с подключением mysql. Я хочу выполнить запрос в течение некоторого времени mysqli_fetch_assoc, но я получаю сообщение об ошибке типа «Команды не синхронизированы; вы не можете запустить эту команду сейчас».
<?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
}
}
}
?>
Это не проблема, это просто проблема с опечаткой. Однажды проверьте мое обновление






У вас не может быть двух одновременных запросов, потому что mysqli по умолчанию использует небуферизованные запросы. Вы можете либо получить первый в массиве и пройти через него, либо указать mysqli для буферизации запросов с помощью mysqli :: store_result
Попробуйте это $ comp_sql = "ВЫБРАТЬ comp_plan_type FROM user_comp_plan, где id = '$ parent_id'"; надеюсь это поможет.