PHP में डेटाबेस के साथ कार्य: PostgreSQL और MongoDB

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

PHP में डेटाबेस के साथ काम करना: PostgreSQL और MongoDB



PHP में आधुनिक वेब डेवलपमेंट शायद ही कभी डेटाबेस के साथ इंटरैक्ट किए बिना होता है। रिलेशनल (PostgreSQL) और डॉक्यूमेंट-ओरिएंटेड (MongoDB) सिस्टम के बीच चुनाव प्रोजेक्ट की डेटा संरचना, प्रदर्शन आवश्यकताओं और स्केलेबिलिटी पर निर्भर करता है। इस लेख में, हम कवर करेंगे कि दोनों DBMS से कैसे कनेक्ट किया जाए, बुनियादी ऑपरेशन कैसे किए जाएं, और चुनते समय किन बातों पर ध्यान देना चाहिए।



1. PDO के माध्यम से PostgreSQL से कनेक्ट करना



PostgreSQL एक शक्तिशाली रिलेशनल DBMS है जो ACID ट्रांजेक्शन, जटिल क्वेरी और एक्सटेंसिबल डेटा प्रकारों का समर्थन करता है। PHP में, इसके साथ काम करने के लिए PDO (PHP Data Objects) एक्सटेंशन का उपयोग करने की सलाह दी जाती है, जो विभिन्न डेटाबेस के लिए एक एकीकृत इंटरफ़ेस प्रदान करता है।



सबसे पहले, सुनिश्चित करें कि आपके सिस्टम में pdo_pgsql और pgsql ड्राइवर इंस्टॉल हैं। आप इसे phpinfo() के माध्यम से जांच सकते हैं।



कनेक्शन और डेटा इंसर्शन का उदाहरण



<?php$host = 'localhost';$dbname = 'my_database';$user = 'my_user';$password = 'my_password';

try { // Create DSN (Data Source Name) $dsn = "pgsql:host=$host;dbname=$dbname"; // Connect $pdo = new PDO($dsn, $user, $password, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC ]); echo "Connection to PostgreSQL established successfully!<br>"; // Data insertion using prepared statements $sql = "INSERT INTO users (name, email, age) VALUES (:name, :email, :age)"; $stmt = $pdo->prepare($sql); $stmt->execute([ ':name' => 'Ivan Petrov', ':email' => 'ivan@example.com', ':age' => 28 ]); echo "User added. ID: " . $pdo->lastInsertId(); } catch (PDOException $e) { echo "Connection error: " . $e->getMessage(); die();}?>


प्रीपेयर्ड स्टेटमेंट का उपयोग SQL इंजेक्शन से बचाता है और बार-बार समान क्वेरी के लिए प्रदर्शन में सुधार करता है।



फ़िल्टरिंग के साथ डेटा प्राप्त करना



<?php$minAge = 25;$search = "SELECT id, name, email, age FROM users WHERE age > :minAge ORDER BY age DESC";$stmt = $pdo->prepare($search);$stmt->execute([':minAge' => $minAge]);

$users = $stmt->fetchAll();

foreach ($users as $user) { echo "{$user['name']} ({$user['age']} years old) - {$user['email']}<br>";}?>


PostgreSQL जटिल JOIN, सबक्वेरी, विंडो फंक्शन और फुल-टेक्स्ट सर्च का समर्थन करता है — यह इसे सख्त डेटा अखंडता आवश्यकताओं वाले प्रोजेक्ट के लिए एक आदर्श विकल्प बनाता है।



2. आधिकारिक ड्राइवर के माध्यम से MongoDB से कनेक्ट करना



MongoDB एक NoSQL डेटाबेस है जो डेटा को दस्तावेज़ों (JSON-जैसी BSON वस्तुएं) के रूप में संग्रहीत करता है। यह लचीली स्कीमा, तेज़ प्रोटोटाइपिंग और क्षैतिज स्केलिंग वाले प्रोजेक्ट के लिए उपयुक्त है।



PHP में MongoDB के साथ काम करने के लिए, mongodb एक्सटेंशन और mongodb/mongodb लाइब्रेरी (Composer के माध्यम से इंस्टॉल) का उपयोग किया जाता है।



ड्राइवर इंस्टॉल करना



# Via Composer in the project rootcomposer require mongodb/mongodb


कनेक्शन और दस्तावेज़ इंसर्शन का उदाहरण



<?phprequire_once 'vendor/autoload.php';

use MongoDB\\Client;use MongoDB\\Driver\\Exception\\Exception;

try { // Connect to the local server $client = new Client("mongodb://localhost:27017"); // Select the database and collection $collection = $client->my_database->users; // Insert a single document $insertResult = $collection->insertOne([ 'name' => 'Anna Smirnova', 'email' => 'anna@example.com', 'age' => 32, 'interests' => ['programming', 'reading', 'traveling'],

ब्लॉग

पुस्तक अनुशंसाएँ