2016-12-01 40 views
0

我不得不學習一些PHP來設置一些假期圖像表。我原來是在使用MySQL的早期版本的WAMP中完成的,並且它工作正常。如何解決連續調用MySQLi_Connect之後的致命錯誤?

我現在面臨使用當前版本的XAMPP更新表和國家(將所有調用轉換爲MySQLi)。

這是我的問題開始的地方。我得到了「致命錯誤:最大執行時間超過30秒......」。我已經搜索這個網站和其他一些人的答案,我的具體錯誤情況,沒有成功。

我運行最新的XAMPP贏下10我有3個文件:

Generate_Tables_DE - 我也有一個類似的EN。它只是定義了輸出語言。

 <?php 
     echo "<br>include Generate_Tables.php<br><br>"; 
     include '../Generate_Tables.php'; 
     echo "<br />Generating Tables - German<br /><br />"; 
     Generate_Tables("#FFFFFF", "DE"); 
     ?> 

它呼籲: Generate_Tables - 這建立在數據庫中的實際表中,有一個爲每個國家:

 <?php 
     function Generate_Tables($BgCol, $Land) 
     { 
     echo $BgCol . " " . $Land . "<BR />"; 
     include("../Create_Table.php"); 

     $Sum_Total = 0; 
     $Sum_Total += Create_Table("Thailand", $BgCol, $Land); 
     $Sum_Total += Create_Table("India", $BgCol, $Land); 
     $Sum_Total += Create_Table("Indonesia", $BgCol, $Land); 
     echo "Sum Total of all images = " . $Sum_Total . "<br /><br />"; 
     } 
     ?> 

這,然後調用: CREATE_TABLE - 這是哪裏出了問題發生:

<?php 
    function Create_Table($Name, $bgCol, $Land) 
    { 

    require_once("../constants.php"); 
    require_once("../functions.php"); 
    $DBconn = mysqli_connect('localhost','root',''); 
    if (!$DBconn) { 
     die("<BR />Database DBconn failed: " . mysql_error()); 
    } 
    $db_select = mysqli_select_db($DBconn,'Images'); 
    if (!$db_select) { 
     die("Database selection failed: " . mysql_error()); 
    } 

    /* Some processing */ 

    if (mysqli_close($DBconn) == FALSE) 
    { 
     echo "<BR/>End DBconn failed"; 
    } 
    return ($array_count); 
    } 
    ?> 

的「泰國」表是沒有問題和「印度」表開始產生,但30秒的時間退出了的M ySQLi_connect命令。

我嘗試過連接的變體,例如在連接中包含數據庫名稱並刪除MySQLi_select。沒有辦法解決問題。

與我發現的所有答案區別的是,它僅在Create_Table的第二次迭代中發生錯誤。如果我從Generate_Table中刪除「泰國」電話,「印度」工作,但「印度尼西亞」現在有問題。 我已經搜索了教程和手冊,但似乎沒有什麼,我做錯了。 任何人都可以幫忙嗎?請?

P.S.對不起,如果整個事情有點原始,這是我第一次進入PHP。

+0

請參考下面的答案。謝謝! – Ronald

+0

您可以添加您使用的SQL請求(我相信它們應該位於「/ * some processing * /」部分。可能是發送的SQL查詢的問題,例如carthesian產品... – NaeiKinDus

+0

Did這個答案對你有幫助嗎?請接受它或upvote it。謝謝! – Ronald

回答

-1

更改您的php.ini

max_execution_time配置或者你可能只是通過在運行時改變的執行時間對具體的腳本:

ini_set('max_execution_time', 300); //300 seconds = 5 minutes 
+0

這不是ATM,一個正確的答案,因爲它可能會隱藏問題而不是修復它 – NaeiKinDus

+0

我根據給出的錯誤根據我的答案並基於腳本他似乎執行了他想要的邏輯,但是缺乏執行時間,但我理解你的失敗,儘管OP也必須澄清他的問題。 – Ronald

+0

沒有運行的SQL查詢集,我們無法知道肯定這只是一個超時問題,如果其中一個查詢不好,這個腳本可能需要永遠完成。 – NaeiKinDus

相關問題