2008-08-14 13 views
5

मैं उम्र 0 के लिए PHP & MySQL का उपयोग कर रहा हूं और इसके बजाय PostgreSQL का उपयोग शुरू करने जा रहा हूं।PHP से postgresql डेटाबेस से कनेक्ट करने का पसंदीदा तरीका क्या है?

पसंदीदा तरीका क्या है?

यह पीडीओ वस्तुओं के माध्यम से है या कुछ बेहतर है?

उत्तर

4

पीडीओ वस्तुओं नवीनतम को कर रहे हैं। मैं अनुशंसा करता हूं कि जब तक आप यह सुनिश्चित कर सकें कि आपका लक्ष्य प्लेटफ़ॉर्म हमेशा PHP 5.2+ चल रहा होगा।

कई अन्य डेटाबेस अमूर्त परतें हैं जो PostgreSQL का समर्थन करती हैं जो PHP के पुराने संस्करणों के अनुकूल हैं; मैं ADODB की सिफारिश करता हूं।

आपको वास्तव में अपने MySQL काम के लिए पीडीओ या एक अलग अमूर्त परत का उपयोग करना चाहिए; इस तरह आपको फिर से यह समस्या नहीं होगी!

1

मैं व्यक्तिगत रूप से, मेरे पास अपने सभी डेटाबेस काम के लिए पीडीओ का उपयोग करता हूं जब मेरे पास विकल्प होता है। तैयार बयान मेरे जीवन को आसान बनाते हैं, और यह डाटाबेस सिस्टम के बीच निर्बाध है - आसान है अगर आपको उस व्यक्ति के साथ काम करना है जिसका उपयोग आप नहीं करते हैं।

आप अपने खुद के अमूर्त रोल, या प्रक्रियात्मक मॉडल के साथ जाना चाहते हैं, यहाँ Postgre कार्यों है: http://ca.php.net/manual/en/ref.pgsql.php

0

मैं भी एक विरासत पीडीओ वर्ग या एक आवरण वर्ग बनाने का सुझाव देते हैं अगर आप पीडीओ का उपयोग नहीं करने का फैसला । यह आपको भविष्य में बहुत अधिक लचीलापन प्रदान करेगा। अर्थात। क्वेरी निष्पादन समय की गणना।

2

Zend Db का उपयोग करना:

require_once 'Zend/Db.php'; 
$DB_ADAPTER = 'Pdo_Pgsql'; 
$DB_CONFIG = array(
    'username' => 'app_db_user', 
    'password' => 'xxxxxxxxx', 
    'host'  => 'localhost', 
    'port'  => 5432, 
    'dbname' => 'mydb' 
); 
$db = Zend_Db::factory($DB_ADAPTER, $DB_CONFIG); 
0

अपने आवेदन के पैमाने पर निर्भर करता है, आप बैकएंड के लिए जा रहा कनेक्शन की संख्या पर विचार करना चाह सकते हैं। सर्वसम्मति यह प्रतीत होती है कि PHP लगातार कनेक्शन और PostgreSQL अच्छी तरह से काम नहीं करते हैं, इसलिए pgpool-|| जैसे कुछ मध्यस्थ के रूप में उपयोग किया जाना चाहिए।

1

the pg_whatever functions भी हैं, लेकिन इनका उपयोग न करें।

वे पुराने, unmaintained डेटाबेस ड्राइवरों का उपयोग करें। PDO जाने का रास्ता है।

संबंधित मुद्दे