मैं इस प्रश्न पर आया क्योंकि मुझे एक समान समस्या का सामना करना पड़ा। जवाब सही है कि सीआई तैयार कथन का समर्थन नहीं करता है। हालांकि यह का मतलब नहीं है कि आप तैयार कथन का उपयोग नहीं कर सकते हैं!
निम्न उदाहरण मैं अपने कनेक्शन वर्ग के रूप में पीडीओ उपयोग कर रहा हूँ, लेकिन निम्नलिखित कोड काम करेंगे में:
$q = $this->db->conn_id->prepare('SELECT * FROM tbl_user WHERE uid=? and activation_key=?');
$q->execute(array($param1,$param2));
print_r($q->fetchAll());
नोट conn_id पीडीओ वस्तु जिसके विरुद्ध आप अपने तैयार बयान चला सकते है।
हालांकि यह आपके लिए क्वेरी स्ट्रिंग प्राप्त करने के लिए अनुमति नहीं देगा, जो देशी सीआई फ़ंक्शन अनुमति देता है। इसके लिए आपको Get Last Executed Query in PHP PDO जैसे कुछ की आवश्यकता होगी।
और भी अधिक, हालांकि यह आपके बयान बनाने के लिए क्वेरी बिल्डर का उपयोग करने से नहीं रोकता है जिसे आप पीडीओ तैयार करने में उपयोग कर सकते हैं।उदाहरण के लिए -
$db->where('uid = ?',null,false);
$db->where('activation_key = ?',null,false);
$q = $this->db->conn_id->prepare($db->get_compiled_select('tbl_user'));
क्वेरी का निर्माण होगा और आप मूल क्वेरी को देखने के लिए आप उत्पादन $db->get_compiled_select('tbl_user');
क्या मैं आपकी मदद की जरूरत है की अनुमति होगी। यहां देखें: http://stackoverflow.com/questions/38607368/how-to-implement-in-to-prepare-statement?noredirect=1#comment64603092_38607368 –