Как запустить sql-запрос внутри цикла while

у меня есть два db, и мне нужно получить их в массиве, а также подсчитать количество одной строки, но когда я помещаю второй запрос в цикл while, он вообще не работает, и когда я, но вне цикла, я просто подсчитываю последнюю пасеку мой 1 дБ:

apiary_id , apiary_name 
1              A
2              B
3              c
4              d

мой 2 дБ:

  hive_id, hive_number, apiary_id
    1              01         1
    2              02         2
    3              02         1
    4              04         2
    5              05         4

мой php-код:

<?php
include 'db/db_connect.php';
//Query to select apiary id and apiary name
$query = "SELECT apiary_id, apiary_name, FROM apiaries";
$result = array();
$apiaryArray = array();
$response = array();
//Prepare the query
if ($stmt = $con->prepare($query)){
    $stmt->execute();
    //Bind the fetched data to $apiaryId and $apiaryName
    $stmt->bind_result($apiaryId,$apiaryName);
    //Fetch 1 row at a time 
    while($stmt->fetch()){

        //Populate the apiary array
        $apiaryArray["apiary_id"] = $apiaryId;
        $apiaryArray["apiary_name"] = $apiaryName;
        $count = mysqli_num_rows(mysqli_query($con, "SELECT hive_id FROM hives WHERE hives.apiary_id".$apiaryId));
        $apiaryArray["hive_count"] = $count;
        $result[]=$apiaryArray;
    }
    $stmt->close();
    $response["success"] = 1;
    $response["data"] = $result;
}else{
    //Some error while fetching data
    $response["success"] = 0;
    $response["message"] = mysqli_error($con);
}
//Display JSON response
echo json_encode($response);

?>

мне нужен такой результат:

   Apiary ID - Apiary Name - Count of Hives
    1              A               2
    2              B               2
    3              c               0
    4              d               1

я буду счастлив, если кто-нибудь поможет мне.

Я вижу несколько проблем с вашим кодом. Мой совет — попытаться свести вашу логику к одному запросу, который выглядит возможным, по крайней мере, на первый взгляд.

Tim Biegeleisen 13.03.2019 14:46

результат будет в массиве json, верно?

Nancy Moore 13.03.2019 14:47

-Нэнси Мури Да

Arash Rayzan 13.03.2019 14:50

Тим Бигелейзен, можешь помочь мне лайт??

Arash Rayzan 13.03.2019 14:57

Держись, я работаю над этим

Nancy Moore 13.03.2019 15:03

На него был дан ответ. удачи

Nancy Moore 13.03.2019 15:20

– Нэнси Мури, я думаю, что один запрос невозможен, потому что я получаю apiary_Id в цикле while.

Arash Rayzan 13.03.2019 16:25

никто не хочет мне помочь???

Arash Rayzan 13.03.2019 21:18

– Нэнси Мури, ты нашла способ исправить это??

Arash Rayzan 14.03.2019 13:21
Стоит ли изучать 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 и хотите разрабатывать...
2
9
62
1

Ответы 1

У вас опечатка,

hives.apiary_id =1".$apiaryId 

должно быть

hives.apiary_id  = ".$apiaryId

Таким образом, все заявление должно быть,

$count = mysqli_num_rows(mysqli_query($con, "SELECT count(*) FROM hives WHERE hives.apiary_id  = ".$apiaryId));

спасибо исправил, но та же проблема. когда я удаляю второй запрос php, он работает, но когда я пишу внутри цикла while, он не работает

Arash Rayzan 13.03.2019 15:02

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