在PHP

时间:2017-02-19 12:01:49

标签: php mysql

嘿,我对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因为它始终UPDATE表有8但是printf工作正常所以我的问题是我错过任何synax或shud使用别的东西而不是mysqli_fetch_array任何帮助appriciated和抱歉我的坏英语:)

1 个答案:

答案 0 :(得分:0)

在while循环中使用mysqli_fetch_row而不是mysqli_fetch_array。 文档在http://php.net/manual/en/mysqli-result.fetch-row.php

此外,您的if语句不在while循环中。我认为$ row [0]指的是返回行的最后一行,如果不是null。

如果这解决了您的问题,请告诉我