Как выполнить запрос mysql внутри цикла while в php

У меня проблема с подключением 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

                }

            }
        }
?>

Попробуйте это $ comp_sql = "ВЫБРАТЬ comp_plan_type FROM user_comp_plan, где id = '$ parent_id'"; надеюсь это поможет.

user247217 03.05.2018 09:10

Это не проблема, это просто проблема с опечаткой. Однажды проверьте мое обновление

Pavan Karumuri 03.05.2018 09:48
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
605
1

Ответы 1

У вас не может быть двух одновременных запросов, потому что mysqli по умолчанию использует небуферизованные запросы. Вы можете либо получить первый в массиве и пройти через него, либо указать mysqli для буферизации запросов с помощью mysqli :: store_result

Другие вопросы по теме