mysql — создание условий if с использованием запроса приводит к переполнению стека

Эй, мои знания о php все еще плохи, как бы я ни пытался решить это сам всю ночь безуспешно:

<?php
$connect = mysqli_connect("xxxx", "xxxx", "xxxx", "xxxx");
$query = " SELECT AVG(`humidity`)
FROM `ESP8622TEST`
WHERE `logdatetime` > DATE_ADD(NOW(), INTERVAL -2 HOUR)";
$result = mysqli_query($connect, $query);
while ($row = mysqli_fetch_array($result, MYSQL_NUM)) {
printf ("humidity: %s ", $row[0] );
}

if ($row[0] <= '30'){
$connect = mysqli_connect("xxxx", "xxxx", "xxxx", "xxxx");
$querycase = "UPDATE PODLEWDLUGO
SET podlewanieonoff='1' ,jakdlugo='8'
WHERE id=1 ";
mysqli_query($connect, $querycase);
};
if ($row[0] <= '35' && $row[0] >='30'){
$connect = mysqli_connect("xxxx", "xxxx", "xxxxx", "xxxx");
$querycase = "UPDATE PODLEWDLUGO
SET podlewanieonoff='1' ,jakdlugo='7'
WHERE id=1 ";
mysqli_query($connect, $querycase);
};
?>

похоже на то $row[0] == 0 потому что это всегда таблица ОБНОВЛЕНИЯ с 8, но printf работает нормально, поэтому мой вопрос, я пропустил какой-нибудь synax или shud использовать что-то еще, чем mysqli_fetch_array любая помощь оценена и извините за мой плохой английский 🙂

1

Решение

Используйте mysqli_fetch_row вместо mysqli_fetch_array в цикле while.
Документация здесь http://php.net/manual/en/mysqli-result.fetch-row.php

Кроме того, ваши операторы if находятся вне цикла while. Я думаю, что $ row [0] ссылается на последнюю строку ваших возвращенных строк, если не ноль.

Дайте мне знать, если это решило вашу проблему

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector