2008-11-20 16 views
5

संभव डुप्लिकेट:
PDO Prepared Statementsक्या कोई तैयार क्वेरी देखने का कोई तरीका है क्योंकि इसे डेटाबेस पर निष्पादित किया जाएगा?

मैं PHP में mysqli एक्सटेंशन का उपयोग कर रहा हूँ और मैं सोच रहा हूँ, वहाँ संभवतः एक तैयार क्वेरी को देखने के लिए किसी भी तरह से है, क्योंकि यह निष्पादित किया जाएगा सर्वर पर, उदाहरण के लिए क्वेरी इस

select * from table1 where id = ? and name = ? 

की तरह कुछ है, लेकिन मैं क्वेरी को देखने के लिए के बाद मूल्यों में भर रहे हैं चाहते हैं, इस तरह:

select * from table1 where id = 20 and name = "John" 
+0

क्या होता है जब आप var_dump() your mysqli_stmt ऑब्जेक्ट करते हैं? –

उत्तर

2

PDO Prepared Statements

लघु जवाब का डुप्लिकेट: कोई। एक तैयार क्वेरी को आपके द्वारा अपेक्षित क्वेरी में कभी भी परिवर्तित नहीं किया जाएगा। इसे सीधे डेटाबेस सर्वर द्वारा निष्पादित किया जाता है। आप mysql के क्वेरी लॉग या पीडीओ के अनियंत्रित फ़ंक्शन debugDumpParams का उपयोग कर सकते हैं, लेकिन दोनों केवल अनुमान हैं।

+2

असल में यदि आप MySQL क्वेरी लॉगिंग सक्षम करते हैं, तो यह * पैरामीटर मानों के साथ एक तैयार क्वेरी लॉग करता है जिसमें इसमें अंतर होता है। निराला! –

+0

अजीब सामान है कि। – troelskn

0

जहां यह देखा? यदि यह आपका कोड है तो आपके पास क्वेरी है और आपके पास तैयार पैरामीटर हैं, उन्हें अलग से लॉग इन करें या मूल क्वेरी स्ट्रिंग में प्रतिस्थापित करें। यदि बाध्यकारी विफल हो जाएंगे तो आपको एक त्रुटि मिलेगी, अन्यथा आपको उसी मान को "भरने" की अपेक्षा करनी चाहिए जैसा आपने निर्दिष्ट किया था।

6

mysql query logging चालू है और आप की समीक्षा करने के लिए यह एक पाठ फ़ाइल में सभी प्रश्नों प्रवेश करेंगे।

0

इसका रास्ता बार मैं mysql quires डिबगिंग हूँ के सबसे:।।।

$ q = $ id "और नाम =" $ नाम "table1 जहां आईडी = से चयन *"; echo $ q;

आउटपुट क्वेरी को सौंपा गया सभी चर उत्पन्न करता है।

आशा है कि मैं आपको बिल्कुल समझ गया, जो आप चाहते थे।

+0

मुझे लगता है कि उसका मतलब है कि जब वह तालिका 1 से "चयन * तैयार करता है जहां id =? और name =?" और फिर बाद में यह पैरामीटर $ आईडी और $ नाम प्रदान करता है। –

+0

जब तक '$ name' एक संख्या न हो, तो यह क्वेरी बिना छेड़छाड़ वाले स्ट्रिंग पैरामीटर के कारण विफल हो जाएगी। – T30

संबंधित मुद्दे