2013-11-23 31 views
0

我有以下DB連接功能:DB連接功能需要太多的時間 - PHP

function execute_query($select_query) { 
     $con=mysqli_connect("localhost","root","123","site_db"); 
     // Check connection 
     if (mysqli_connect_errno()) 
      { 
      echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
      return false; 
      } 
     else{ 
      $result = mysqli_query($con, $select_query); 
      return $result; 
      } 
    } 

而在PHP頁面下面的代碼(其中顯示從表中的所有數據):

require_once('../lib/common/db_connect.php'); 

    $result= execute_query('SELECT typeID, articleID, articleTitle FROM articles'); 

問題是,直到頁面加載花費太多時間(表中只有10行,數據不是太多)。

我試着寫在當前頁面的連接:

$con=mysqli_connect("localhost","root","123","site_db"); 
    // Check connection 
    if (mysqli_connect_errno()) 
     { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
     return false; 
     } 

$result= mysqli_query($con, 'SELECT typeID, articleID, articleTitle FROM articles'); 

而且比它快。

我的問題是爲什麼ot需要這麼多時間,當連接代碼在單獨的文件中的獨立功能?

+0

我沒有看到任何區別。可能你有一些硬盤問題,執行require_once('../ lib/common/db_connect.php'); ? – jacouh

回答

0

require_oncerequire慢很多。然而,當你只需要幾個文件時,差別就不會顯着,尤其是當你只需要一個文件時。

我的猜測是你的服務器環境有問題。您在運行PHP腳本的系統是什麼類型?這可能是../lib存儲在不同的硬盤上。也許驅動器被損壞或存儲在遠程位置,導致PHP解釋器非常緩慢地讀取該驅動器。