[英]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.