यदि किसी अजीब कारण से आपको ऐसा करने की आवश्यकता है, तो dbname
. का उपयोग न करें डीएनएस में पैरामीटर इसके बजाय, इसे अपने लिए चुनने के लिए अपने डेटाबेस ड्राइवर का उपयोग करें:
$dbh->query('use "newdatabase"'); // for mysql.
इस तरह, आपके पास डेटाबेस नाम को "
. के साथ संलग्न करने का विकल्प होता है , इसलिए आप इसे चालक जो भी हो . नाम दे सकते हैं अनुमति देता है . इस विशिष्ट परिदृश्य के लिए MySQL के लिए यह "
. है चरित्र, लेकिन इसका मतलब यह नहीं है कि यह PostgreSQL या Firebase के लिए अलग है।
लेकिन यह विधि बुलेटप्रूफ नहीं है, यह केवल पीडीओ पुस्तकालय को डीएसएन को सामान्य रूप से पार्स करने की अनुमति देता है जैसा कि मैं उम्मीद नहीं करता पीडीओ पुस्तकालय इस असामान्य स्थिति से निपटने के लिए क्योंकि इसका एकमात्र उद्देश्य अधिक से अधिक ड्राइवरों के साथ बातचीत करना है।
ड्राइवर विशिष्ट भत्ते पीडीओ में भाग नहीं लेना चाहिए, इसलिए आपको वास्तव में इसके लिए ड्राइवर से पूछना चाहिए, इस तरह आप यह भी जांच सकते हैं कि क्वेरी निष्पादित करने में विफल रहता है या नहीं।