簡體   English   中英

mysqli查詢不會在while循環中更新

[英]mysqli query does not update in while loop

我正在構建一個腳本來顯示一些24小時圖表。 我試圖制作12張圖表。 我收集的每五分鍾數據集的一個24小時(最后一小時)圖表。 我正在運行我的mysql命令不會更新$ hour_position的問題。 我已經閱讀了很多while循環內部循環問題,並嘗試構建一個foreach替代,並嘗試重置查詢數組,但沒有一個有效。 任何可以解決此問題的評論或鏈接到另一個線程將不勝感激。 提前致謝。

$hour_position = 00;
$htime = -1;
$date = date('Y-m-d H:i:s');
$date = strtotime($date);
$date = strtotime($htime." day", $date);
$date = date('Y-m-d H:i:s',$date);

while($hour_position < 60){
    $price_history_qry = mysqli_query($con,"SELECT * FROM `dbTable` WHERE `server_time` > '$date' AND EXTRACT(MINUTE FROM `server_time`) like $hour_position ORDER BY `server_time` ASC");
    while($result = mysqli_fetch_array($price_history_qry)){
        //Create a couple of arrays to build a chart. 
    }
    //Build chart here
    echo $chart;
    $hour_position = $hour_position +05;
}

嘗試將$ hour_position放在引號中

      ' $hour_position ' 

或者你可以使用

      ". $hour_position ." 

您的查詢有一個小錯誤。 單引號內的變量不會被評估為變量。 檢查一下 您需要更改下面的選擇查詢。

$price_history_qry = mysqli_query($con,"SELECT * FROM `dbTable` WHERE `server_time` > '".$date."' AND EXTRACT(MINUTE FROM `server_time`) like ".$hour_position." ORDER BY `server_time` ASC");

我沒有在您的代碼中找到任何更新查詢。 如你所說,你在循環中使用更新查詢。 因此,首先檢查變量是否具有該值,然后檢查它是否進入while循環,如下所示。

    $result = mysqli_fetch_array($price_history_qry)    
    var_dump($result);    
    while($result){
           //Create a couple of arrays to build a chart. 
           var_dump("entered");
   }

嘗試使用var_dump()函數進行調試。

希望它能幫到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM