簡體   English   中英

而循環mysql / PHP超過了執行時間

[英]while loop mysql/PHP exceeds execution time

此while循環會導致致命錯誤:超過30秒的最大執行時間。 查詢正在運行。 我在phpmyadmin中測試了查詢。

循環內沒有任何東西可以測試它的內容是否引起了錯誤。 看起來while循環正在過載。 似乎腳本加載時間太長(認為查詢太擴展了),看不到循環無限的任何可能性。

while($tags_db = mysqli_fetch_array(mysqli_query($link, 
"SELECT * 
FROM zk_terms 
WHERE parent_id = 1 AND parent_type = 'archive' AND taxonomy = 'tag'"))){

}

您需要在每次迭代時重新執行查詢,然后mysqli_fetch_array每次循環僅獲取第一個結果。 您必須將mysqli_query移出循環,並將其分配給變量。

您需要修改代碼:

$query = mysqli_query($link, 
"SELECT * 
FROM zk_terms 
WHERE parent_id = 1 AND parent_type = 'archive' AND taxonomy = 'tag'");

while($tags_db = mysqli_fetch_array($query)){
 // your code
}

將您的mysqli_query命令放在您的時間之外,然后將結果捕獲到變量中。 然后在while中將變量與mysqli_fetch_array一起使用。

否則,每次檢查while條件時,查詢將再次運行

暫無
暫無

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

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