2012-06-28 73 views
0

我擁有一個名爲Server.php的類。在那個類中,我有一個連接到我的數據庫的函數。我已經嘗試擴展max_connections,但它沒有解決問題。也可以說,如果我刪除一個連接到我的數據庫的功能,問題消失。有人能告訴我什麼問題可以解決嗎?pdo異常:對很多連接

+0

聽起來就像是問題是你有太多打開的數據庫連接。 – nickb

+0

你有沒有關閉連接?如果您一次又一次地調用連接到數據庫的函數,但絕不關閉連接,那麼您最終會得到一個異常。 – Windle

+0

如何關閉連接而不將變量設置爲空? – user1156691

回答

0

實施例:

連接到MySQL:

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); 
    if ($link) { // here all your operations 
    } 

緊密連接:

mysql_close($link); 
+0

我使用pdo。不管怎麼說,還是要謝謝你! – user1156691

1

每個PDO實例是一個單獨的連接,因此,如果一個功能使得對數據庫的連接,每次調用時都會創建一個連接。可能的解決方案是,按優先順序排列:

  1. Dependancy Injection:得到PDO實例作爲參數,或者在對象的情況下,作爲對象屬性。
  2. 充分利用PDO實例Singleton
  3. 充分利用PDO實例static裏面的功能,如果這是你所使用的唯一的一點。
  4. 創建一個連接的global變量。
+0

但是,您可以將pdo連接存儲在靜態或全局變量中嗎? – user1156691

+0

是的,你可以,這就是爲什麼我提到他們作爲可能性。 – Wrikken

+0

okey :-)謝謝! – user1156691