PHP Academy · पाठ

PDO से MySQL से कनेक्ट करना

DSN, उपयोगकर्ता और पासवर्ड से PDO कनेक्शन बनाएँ

पाठ 1, कुल 4 में से13 चरण

PDO से MySQL से कनेक्ट करना, CoddyKit पर PHP Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह PHP Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

PDO क्या है

PDO (PHP डेटा ऑब्जेक्ट्स) डेटाबेस तक पहुँच की अमूर्तीकरण परत है। एक ही API MySQL, PostgreSQL, SQLite और अन्य प्रणालियों के साथ काम करता है—आपको केवल DSN बदलना होता है।

DSN

DSN (डेटा स्रोत नाम) स्ट्रिंग ड्राइवर, होस्ट, पोर्ट और डेटाबेस के नाम की पहचान करती है।

<?php
$dsn = "mysql:host=127.0.0.1;port=3306;dbname=myapp;charset=utf8mb4";

PDO इंस्टेंस बनाना

PDO कंस्ट्रक्टर को DSN, उपयोगकर्ता नाम और पासवर्ड दें। कनेक्शन त्रुटियों को संभालने के लिए इसे try/catch में रखें।

<?php
try {
    $pdo = new PDO(
        "mysql:host=127.0.0.1;dbname=myapp;charset=utf8mb4",
        "db_user",
        "db_pass"
    );
} catch (PDOException $e) {
    die("Connection failed: ".$e->getMessage());
}

त्रुटि मोड

त्रुटि मोड को अपवाद उत्पन्न करने के लिए सेट करें, ताकि त्रुटियों को कभी चुपचाप नज़रअंदाज़ न किया जाए।

<?php
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

डिफ़ॉल्ट फ़ेच मोड

डिफ़ॉल्ट फ़ेच शैली कॉन्फ़िगर करें—संबद्धित सारणियाँ सबसे सुविधाजनक होती हैं।

<?php
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);

पूर्ण कनेक्शन सेटअप

सर्वोत्तम अभ्यास: सभी एट्रिब्यूट के साथ PDO को एक बार बनाएँ, फिर उस इंस्टेंस को साझा करें।

<?php
function createPDO(): PDO {
    return new PDO(
        "mysql:host=127.0.0.1;dbname=myapp;charset=utf8mb4",
        "root", "secret",
        [
            PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
            PDO::ATTR_EMULATE_PREPARES   => false,
        ]
    );
}

अनुकरण किए गए प्रिपेयर्स

ATTR_EMULATE_PREPARES को false पर सेट करने से वास्तविक सर्वर-साइड प्रिपेयर्ड स्टेटमेंट उपयोग होते हैं—वे अधिक सुरक्षित और कुशल होते हैं।

charset=utf8mb4

DSN में हमेशा charset=utf8mb4 निर्दिष्ट करें। यह इमोजी सहित पूरी Unicode रेंज का समर्थन करता है। पुराने utf8 उपनाम का कभी उपयोग न करें।

सरल क्वेरी चलाना

query() का उपयोग केवल उन स्टेटमेंट के लिए करें जिनमें उपयोगकर्ता का इनपुट नहीं होता।

<?php
$stmt = $pdo->query("SELECT COUNT(*) as total FROM users");
$row  = $stmt->fetch();
echo $row["total"];

गैर-SELECT के लिए exec()

exec() ऐसा स्टेटमेंट चलाता है जो कोई परिणाम नहीं लौटाता और प्रभावित पंक्तियों की संख्या लौटाता है।

<?php
$count = $pdo->exec("DELETE FROM sessions WHERE expires_at < NOW()");
echo "Deleted $count expired sessions";

स्थायी कनेक्शन

PDO PDO::ATTR_PERSISTENT => true के माध्यम से स्थायी कनेक्शन का समर्थन करता है। PHP-FPM वातावरण में आमतौर पर कनेक्शन पूल को प्राथमिकता दी जाती है।

सारांश

DSN के साथ PDO बनाएँ, ERRMODE_EXCEPTION और FETCH_ASSOC सेट करें और अनुकरण किए गए प्रिपेयर्स बंद करें। उपयोगकर्ता द्वारा दिया गया डेटा होने पर कभी query() न बुलाएँ—प्रिपेयर्ड स्टेटमेंट का उपयोग करें।

त्वरित जाँच

कौन-सा एट्रिब्यूट PDO को त्रुटियों पर अपवाद उत्पन्न करने के लिए कहता है?

शुरुआत निःशुल्क

एआई शिक्षक के साथ PHP सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
49
पाठ
195

अक्सर पूछे जाने वाले प्रश्न

क्या “PDO से MySQL से कनेक्ट करना” पाठ निःशुल्क है?

हाँ—“PDO से MySQL से कनेक्ट करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और PHP Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“PDO से MySQL से कनेक्ट करना” में मैं क्या सीखूँगा?

DSN, उपयोगकर्ता और पासवर्ड से PDO कनेक्शन बनाएँ आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ PHP Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या PHP Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर PHP Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“PDO से MySQL से कनेक्ट करना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस PHP Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर PHP Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. PDO से MySQL से कनेक्ट करना
  2. तैयार कथन और बाइंडिंग
  3. PDO से परिणाम प्राप्त करना
  4. PDO के साथ ट्रांज़ैक्शन
← PHP Academy पर वापस जाएँ