我正在爲自己是一個簡單的博客,並同時通過PHP手冊閱讀,我發現這個http://us2.php.net/manual/en/function.pg-query.php爲什麼指定明確的數據庫連接?
它說
資源pg_query([資源 $連接],字符串$查詢)
...
注意:雖然連接可以被省略,這是不推薦,因爲 它可以是硬的原因找到 我的錯誤n腳本。
爲什麼只使用最後一次連接就不好?我從來沒有打算每個PHP腳本打開超過1個連接,所以這會怎樣導致我的錯誤?
我正在爲自己是一個簡單的博客,並同時通過PHP手冊閱讀,我發現這個http://us2.php.net/manual/en/function.pg-query.php爲什麼指定明確的數據庫連接?
它說
資源pg_query([資源 $連接],字符串$查詢)
...
注意:雖然連接可以被省略,這是不推薦,因爲 它可以是硬的原因找到 我的錯誤n腳本。
爲什麼只使用最後一次連接就不好?我從來沒有打算每個PHP腳本打開超過1個連接,所以這會怎樣導致我的錯誤?
哈。 「我從來沒有計劃每個PHP腳本有超過1個連接打開。」
我記得上次我說的那個。它回來了'應該三個。那時我是一個年輕的whippersnapper,很像你自己。吐滿醋。如果我不需要,爲什麼要做點什麼?這是我們的小公司初創公司盛行的智慧。 「把它完成!」我們會大聲呼喊。另外,我們在腰帶上穿洋蔥。
那麼......時間到了,我添加了一個快速的小統計數據庫到主站點。沒什麼特別的,只是想單獨追蹤一些統計數據。我想我會重新使用數據庫包裝。這是一個很好的包裝,是時候了!抽象出我需要的所有數據庫函數。但是一旦我將它添加到那裏,一些古怪的事情就開始發生了。這沒有道理。我有兩個單獨的數據庫包裝對象...兩個單獨的連接!他們怎麼會相互影響?但隨後用戶將被隨機註銷。會話將失敗。有時候關鍵更新會變壞。一些查詢運行在錯誤的數據庫上。狗和貓開始一起生活!這是羣衆歇斯底里!
如果只有我原本指定了連接器。如果我只保留了它們的具體內容,那麼pg_query會知道使用哪一個。如此多的數據丟失可能已經被阻止。那麼多好元組......非常好的數據。丟失。輸了...
*嗅探*
這是爲了適應那些需要明確調用各種數據庫的人。如果您不這樣做,請忽略它:)某些腳本可用於本地和遠程數據庫,而其他腳本可用於多個本地或多個遠程數據庫。
或者你可以創建一個查詢的東西給你一個數據庫類,保存在一個變量的連接,並在通過了它。採用類1分鐘寫,你永遠不會有再想一想:) – 2010-01-12 05:36:47
它可能只是我,但我認爲更明確的是幫助調試,因爲它不需要我知道'魔術助手'的功能。 – 2010-01-12 05:39:33
@ChaCha,是的,我一般會在這裏同意,但對於小應用程序來說,傳遞一個額外的參數似乎有點冗長。 – Earlz 2010-01-12 05:42:09
也許這是由於參數的順序?如果是關於明確使用連接資源的建議,則相同的註釋將在mysql_query()上。除非有特定於PostgreSQL的東西,否則我不知道。
總之,我沒有看到任何問題省略單連接應用程序的連接參數。
這是微不足道的(<100代碼的PHP代碼仍然)改變我所有的東西使用明確的查詢..所以我想提前思考FTW – Earlz 2010-01-12 05:42:44
絕對是一個好主意:)如果你添加另一個數據庫連接的地方,並開始之間交替,你確實需要指定連接參數。否則,就像在山上走兩邊。在雪裏! – zombat 2010-01-12 05:49:21
感謝您的娛樂禮物。 – jay 2010-01-12 05:49:59