У меня сейчас странная проблема с небольшим фрагментом кода. Я потратил слишком много времени, пытаясь понять это, поэтому я решил, что спрошу здесь. У меня есть массив целых чисел ($ childID), которые я хочу использовать для индивидуального вызова хранимой процедуры в базе данных MySQL. Соединение настроено отлично, и до сих пор эта структура не давала мне никаких проблем.PHP: foreach msqli_query issue
массив $ childIDs настроен правильно, и цикл Еогеаспа делает петли через каждый целого числа в массиве как $ currentChild. Сначала я заметил, что появится только первый элемент в массиве. После некоторого тестирования я обнаружил, что после первого итерации цикла результат $ был установлен на bool (false). При этом запрос отлично работает с числами, которые я использую в массиве.
Так что мой вопрос в том, почему $result = mysqli_query($database, "CALL get_notes($currentChild);")
- это ложный bool на все, кроме первой итерации цикла foreach?
Вот код:
$childIDs = array();
$childIDs = json_decode($_GET['childids']);
$noteList = array();
foreach ($childIDs as $currentChild)
{
if ($result = mysqli_query($database, "CALL get_notes($currentChild);"))
{
// Gathers all the notes for the child
while($row = mysqli_fetch_array($result))
{
// does stuff with each row, for now I'll just use an example...
var_dump($row);
}
}
}
возможно, потому что $ childID - это набор объектов, а не ассоциативный массив? –
Если это проблема, почему она может работать с первой итерацией цикла foreach? –
Я решил. Я ответил на это решение. –