पीएचपी प्रलेखन पीडीओ के अनुसार :: तैयार() अपने सभी मापदंडों को उद्धरण कहते हैं ताकि आप इसे करने के बारे में चिंता करने की ज़रूरत नहीं है:पीडीओ से जोड़ा उद्धरण के साथ काम :: तैयार()
"तैयार बयानों के पैरामीटर को उद्धृत करने की आवश्यकता नहीं है; चालक स्वचालित रूप से इसे संभालता है। यदि कोई एप्लिकेशन विशेष रूप से तैयार कथन का उपयोग करता है, तो डेवलपर यह सुनिश्चित कर सकता है कि कोई SQL इंजेक्शन नहीं होगा (हालांकि, यदि क्वेरी के अन्य भाग हैं अनचाहे इनपुट के साथ बनाया गया, एसक्यूएल इंजेक्शन अभी भी संभव है)। "
मेरे लिए यह समस्या मेरे तरीके और मेरी डेटाबेस संरचना का निर्माण करने का तरीका है। आम तौर पर एक एसक्यूएल स्टेटमेंट के भाग से पैरामीटरेट करने की आवश्यकता नहीं होती है क्योंकि तालिका को सीधे उपयोगकर्ता इनपुट द्वारा परिभाषित किया जाएगा। हालांकि मेरे कोड के साथ कुछ स्थानों में मामला है और इस प्रकार मैं पैरामीट्रिज्ड संस्करण के साथ अधिक सहज महसूस करता हूं।
SELECT * FROM ? WHERE ?=?
रूप tablename से करने के लिए चुनें * का विरोध कहां? =?
तो मेरा सवाल यह है कि, क्या मेरे पीडीओ ऑब्जेक्ट को पैरामीटर पैरामीटर के चारों ओर उद्धरण जोड़ने से रोकना संभव है ताकि मुझे मेरे चेहरे में एसक्यूएल त्रुटियां नहीं मिलें? या मुझे इसे अलग तरीके से करना है।
वास्तव में सवाल क्या है? – jeroen
यह जरूरी नहीं है उद्धरण जोड़ें। मूल तैयार कथन का समर्थन करने वाले ड्राइवर्स शाब्दिक '?' बनाए रखेंगे और डेटाबेस सर्वर प्रतिस्थापन करता है। - हालांकि आपको यह बताने की ज़रूरत है कि आपका कोड क्या विशेष रूप से कर रहा है और यह यहां एक समस्या क्यों है। अपने FROM खंडों में ''?'' या ''प्लेसहोल्डर' जोड़ना शाब्दिक तार हैं, बाध्य पैरामीटर नहीं। – mario
इसके बारे में क्षमा करें, मैंने – hamalnamal