PDO_MYSQL एक ड्राइवर है जो PHP से MySQL डेटाबेस तक पहुँच को सक्षम करने के लिए PHP डेटा ऑब्जेक्ट (PDO) इंटरफ़ेस को लागू करता है। 7.1.16 से पहले PHP संस्करण, या 7.2.4 से पहले PHP 7.2 चलाते समय, MySQL 8 सर्वर के डिफ़ॉल्ट पासवर्ड प्लगइन को mysql_native_password पर सेट करें या अन्यथा आपको क्लाइंट के लिए सर्वर अनुरोधित प्रमाणीकरण विधि के समान त्रुटियां दिखाई देंगी [caching_sha2_password] यहां तक ​​कि caching_sha2_password होने पर भी उपयोग नहीं होता है। ऐसा इसलिए है क्योंकि MySQL 8 डिफ़ॉल्ट रूप से caching_sha2_password है, एक प्लगइन जिसे पुराने PHP (mysqlnd) रिलीज़ द्वारा मान्यता प्राप्त नहीं है। इसके बजाय, इसे सेट करके बदलें। caching_sha2_password प्लगइन भविष्य के PHP रिलीज़ में समर्थित होगा। इस बीच, mysql_xdevapi एक्सटेंशन इसका समर्थन करता है। चेतावनी खबरदार: कुछ MySQL टेबल प्रकार (स्टोरेज इंजन) लेनदेन का समर्थन नहीं करते हैं। लेन-देन का समर्थन नहीं करने वाली तालिका प्रकार का उपयोग करके लेन-देन संबंधी डेटाबेस कोड लिखते समय, MySQL यह दिखावा करेगा कि लेनदेन सफलतापूर्वक शुरू किया गया था। इसके अलावा, जारी किए गए किसी भी DDL प्रश्न में निहित रूप से कोई भी लंबित लेनदेन होगा। MySQL ड्राइवर पीडीओएसटेमेंट :: बाइंडपाराम के माध्यम से उचित रूप से समर्थन नहीं करता है, जबकि ऐसे पैरामीटर का उपयोग किया जा सकता है, वे अपडेट नहीं होते हैं (यानी वास्तविक आउटपुट को अनदेखा किया जाता है) सामान्य यूनिक्स वितरण में PHP के बाइनरी संस्करण शामिल हैं जिन्हें स्थापित किया जा सकता है। हालाँकि ये बाइनरी संस्करण आमतौर पर MySQL एक्सटेंशन के समर्थन के साथ बनाए गए हैं, एक्सटेंशन लाइब्रेरी को स्वयं एक अतिरिक्त पैकेज का उपयोग करके स्थापित करने की आवश्यकता हो सकती है। उपलब्धता के लिए आपके चुने हुए वितरण के साथ आने वाले पैकेज प्रबंधक की जाँच करें। उदाहरण के लिए, उबंटू पर पैकेज ext/mysql, ext/mysqli, और PDO_MYSQL PHP एक्सटेंशन इंस्टॉल करता है। CentOS पर, पैकेज इन तीन PHP एक्सटेंशन को भी इंस्टॉल करता है। वैकल्पिक रूप से, आप इस एक्सटेंशन को स्वयं संकलित कर सकते हैं। स्रोत से PHP का निर्माण आपको उन MySQL एक्सटेंशन को निर्दिष्ट करने की अनुमति देता है जिनका आप उपयोग करना चाहते हैं, साथ ही प्रत्येक एक्सटेंशन के लिए क्लाइंट लाइब्रेरी की आपकी पसंद। संकलन करते समय, PDO MySQL एक्सटेंशन को स्थापित करने के लिए --with-pdo-mysql[=DIR] का उपयोग करें, जहां वैकल्पिक MySQL बेस लाइब्रेरी है। Mysqlnd डिफ़ॉल्ट लाइब्रेरी है। लाइब्रेरी चुनने के विवरण के लिए, MySQL लाइब्रेरी चुनना देखें। वैकल्पिक रूप से, --with-mysql-sock[=DIR] PDO_MYSQL सहित सभी MySQL एक्सटेंशन के लिए MySQL यूनिक्स सॉकेट पॉइंटर को स्थान पर सेट करता है। यदि निर्दिष्ट नहीं है, तो डिफ़ॉल्ट स्थान खोजे जाते हैं। वैकल्पिक रूप से, --with-zlib-dir[=DIR] का उपयोग libz इंस्टाल उपसर्ग के लिए पथ सेट करने के लिए किया जाता है। SSL समर्थन उपयुक्त PDO_MySQL स्थिरांक का उपयोग करके सक्षम किया गया है, जो ÃÂû MySQL C API फ़ंक्शन mysql_ssl_set को कॉल करने के बराबर है, इसके अलावा, SSL को PDO::setAttribute के साथ सक्षम नहीं किया जा सकता क्योंकि कनेक्शन पहले से मौजूद है। ÃÂû के बारे में MySQL प्रलेखन को MySQL के साथ SSL से कनेक्ट करने के लिए भी देखें नीचे दिए गए स्थिरांक इस ड्राइवर द्वारा परिभाषित किए गए हैं, और केवल तभी उपलब्ध होंगे जब एक्सटेंशन या तो PHP में संकलित किया गया हो या रनटाइम पर गतिशील रूप से लोड किया गया हो। इसके अतिरिक्त, इन ड्राइवर-विशिष्ट स्थिरांकों का उपयोग केवल तभी किया जाना चाहिए जब आप इस ड्राइवर का उपयोग कर रहे हों। किसी अन्य ड्राइवर के साथ ड्राइवर-विशिष्ट विशेषताओं का उपयोग करने से अनपेक्षित व्यवहार हो सकता है। पीडीओ :: getAttribute () का उपयोग ड्राइवर की जांच करने के लिए विशेषता प्राप्त करने के लिए किया जा सकता है, यदि आपका कोड एकाधिक ड्राइवरों के विरुद्ध चल सकता है। a पर, MySQL ड्राइवर MySQL API के बफ़र्ड संस्करणों का उपयोग करेगा। यदि आप पोर्टेबल कोड लिख रहे हैं, तो आपको इसके बजाय उपयोग करना चाहिए। यदि यह विशेषता एक पर सेट है, तो MySQL ड्राइवर MySQL API के बफ़र्ड संस्करणों का उपयोग करेगा। यदि आप पोर्टेबल कोड लिख रहे हैं, तो आपको इसके बजाय उपयोग करना चाहिए। उदाहरण #1 MySQL में बफ़र किए जाने वाले प्रश्नों को मजबूर करना "मेरा एप्लिकेशन केवल MySQL के साथ काम करता है; मुझे इसके बजाय \$stmt->fetchAll() का उपयोग करना चाहिए"ध्यान दें, इस स्थिरांक का उपयोग केवल नए डेटाबेस हैंडल का निर्माण करते समय सरणी में किया जा सकता है। LOCAL DATA लोडिंग को इस निर्दिष्ट निर्देशिका में स्थित फ़ाइलों तक सीमित करने की अनुमति देता है। PHP 8.1.0 के रूप में उपलब्ध है। ध्यान दें, यह स्थिरांक केवल नए डेटाबेस हैंडल का निर्माण करते समय सरणी में उपयोग किया जा सकता है। MySQL सर्वर से कनेक्ट करते समय निष्पादित करने की आज्ञा। पुन: कनेक्ट करते समय स्वचालित रूप से फिर से निष्पादित किया जाएगा। ध्यान दें, यह स्थिरांक केवल नए डेटाबेस हैंडल का निर्माण करते समय सरणी में उपयोग किया जा सकता है। से के बजाय नामित विकल्प फ़ाइल से विकल्प पढ़ें। यदि mysqlnd का उपयोग किया जाता है तो यह विकल्प उपलब्ध नहीं होता है, क्योंकि mysqlnd mysql कॉन्फ़िगरेशन फ़ाइलों को नहीं पढ़ता है। नामित समूह से विकल्प पढ़ें या फ़ाइल के साथ निर्दिष्ट करें। यदि mysqlnd का उपयोग किया जाता है तो यह विकल्प उपलब्ध नहीं होता है, क्योंकि mysqlnd mysql कॉन्फ़िगरेशन फ़ाइलों को नहीं पढ़ता है। अधिकतम बफर आकार। डिफ़ॉल्ट 1 एमबी है। Mysqlnd के विरुद्ध संकलित होने पर यह स्थिरांक समर्थित नहीं है। मिली (मिलान की गई) पंक्तियों की संख्या लौटाएं, परिवर्तित पंक्तियों की संख्या नहीं। एसएसएल प्रमाणपत्र प्राधिकरण के लिए फ़ाइल पथ। निर्देशिका का फ़ाइल पथ जिसमें विश्वसनीय SSL CA प्रमाणपत्र हैं, जो PEM प्रारूप में संग्रहीत हैं। एसएसएल प्रमाणपत्र के लिए फ़ाइल पथ। ओपनएसएसएल द्वारा समझे गए प्रारूप में एसएसएल एन्क्रिप्शन के लिए उपयोग करने के लिए एक या अधिक अनुमेय सिफर की सूची। उदाहरण के लिए: एसएसएल कुंजी के लिए फ़ाइल पथ। सर्वर एसएसएल प्रमाणपत्र के सत्यापन को अक्षम करने का एक तरीका प्रदान करता है। यह PHP 7.0.18 और PHP 7.1.4 के रूप में मौजूद है। पीडीओ :: तैयार () और पीडीओ :: क्वेरी () दोनों में बहु क्वेरी निष्पादन को अक्षम करता है जब सेट किया जाता है। ध्यान दें, यह स्थिरांक केवल नए डेटाबेस हैंडल का निर्माण करते समय सरणी में उपयोग किया जा सकता है इन कार्यों का व्यवहार सेटिंग्स में से प्रभावित होता है। PHP_INI_* मोड के अधिक विवरण और परिभाषाओं के लिए, PHP_INI_* मोड के अधिक विवरण और परिभाषाओं के लिए देखें, कॉन्फ़िगरेशन सेटिंग कहां सेट की जा सकती है देखें यूनिक्स डोमेन सॉकेट सेट करता है। यह मान या तो संकलन समय पर सेट किया जा सकता है यदि कोई डोमेन सॉकेट कॉन्फ़िगरेशन पर पाया जाता है। यह आईएनआई सेटिंग केवल यूनिक्स है। PDO_MYSQL के लिए डिबगिंग सक्षम करता है। यह सेटिंग केवल तभी उपलब्ध होती है जब PDO_MYSQL को mysqlnd के विरुद्ध और PDO डिबग मोड में संकलित किया जाता है।