आप पहचानकर्ताओं (कॉलम/टेबल/डेटाबेस/फ़ंक्शन नाम इत्यादि) के लिए तैयार बयानों में प्लेसहोल्डर का उपयोग नहीं कर सकते हैं। आप उनका उपयोग केवल मूल्यों के लिए कर सकते हैं।
CREATE TABLE noteshareproject.:title
// ^^^^^^ this will not work
आपको $title
. को मैन्युअल रूप से सैनिटाइज करना होगा इसलिए यदि आप ऐसा करना चाहते हैं तो इसे सीधे स्ट्रिंग में इस्तेमाल किया जा सकता है।
यह भी ध्यान दें कि एक DDL
स्टेटमेंट जैसे CREATE TABLE
तैयार नहीं किया जा सकता है, इसलिए prepare()
. का उपयोग करने का कोई मतलब नहीं है . आप बस query()
का भी इस्तेमाल कर सकते हैं
या exec()
।
मुझे यह भी आश्चर्य होता है कि क्या यह तथ्य कि आप इसे बिल्कुल करना चाहते हैं, खराब डेटाबेस डिज़ाइन का संकेतक है - यह संभावना नहीं है कि समान संरचना की कई तालिकाओं की आवश्यकता आपकी जानकारी को संग्रहीत करने का एक उचित तरीका है, हालांकि आपके बारे में अधिक जानने के बिना आवेदन निश्चित रूप से कहना असंभव है।