Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मैं कोडइग्निटर में तैयार वक्तव्यों का उपयोग कैसे कर सकता हूं?

कोडइग्निटर तैयार वक्तव्यों का समर्थन नहीं करता है। यदि आप सीआई के डेटाबेस वर्ग के लिए स्रोत कोड को देखते हैं, तो आप देखेंगे कि वे केवल पारित सरणी के डेटा के साथ प्रश्न चिह्नों को बदलकर बाइंडिंग को हल करते हैं:

वे केवल अज्ञात प्लेसहोल्डर्स के साथ क्वेरी बाइंडिंग का समर्थन करते हैं। देखें http://ellislab.com/codeigniter/user-guide/database/ query.html

<ब्लॉकक्वॉट>

क्वेरी बाइंडिंग

बाइंडिंग आपको सिस्टम को आपके लिए प्रश्नों को एक साथ रखने की अनुमति देकर आपके क्वेरी सिंटैक्स को सरल बनाने में सक्षम बनाती है। निम्नलिखित उदाहरण पर विचार करें:

$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";
$this->db->query($sql, array(3, 'live', 'Rick'));

क्वेरी में प्रश्न चिह्न स्वचालित रूप से क्वेरी फ़ंक्शन के दूसरे पैरामीटर में सरणी के मानों से बदल दिए जाते हैं।

और http://ellislab.com/forums/viewthread/105112/#528915

<ब्लॉकक्वॉट>

भले ही सीआई तैयार बयानों का समर्थन नहीं करता है, यह क्वेरी बाइंडिंग का समर्थन करता है। तैयार बयानों के साथ आपको कुछ प्रकार के तैयार() फ़ंक्शन और फिर कुछ प्रकार के निष्पादन() फ़ंक्शन को कॉल करना होगा। क्वेरी बाइंडिंग के साथ, आपको केवल एक फ़ंक्शन को कॉल करना होगा और यह मूल रूप से वही काम करता है। इस वजह से, मुझे तैयार बयानों से बेहतर क्वेरी बाइंडिंग पसंद है।

एक विचार पर, ? करने के लिए :foo केवल अज्ञात से नामांकित बाइंडिंग में बदल रहा है (जो सीआई स्पष्ट रूप से या तो समर्थन नहीं करता है)। सिर्फ इसलिए कि आप या तो उपयोग करते हैं या इसका मतलब यह नहीं है कि आप बयान तैयार कर रहे हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GTID से पारंपरिक प्रतिकृति पर वापस जाएं

  2. MySQL क्लोन प्लगइन और एक्स्ट्राबैकअप के बीच एक तुलना

  3. MySQL त्रुटि 1290 (HY000) --सुरक्षित-फ़ाइल-निजी विकल्प

  4. MySQL, एक क्वेरी के साथ कई टेबल अपडेट करें

  5. Django में यूनिकोड स्ट्रिंग को सहेजते समय MySQL गलत स्ट्रिंग मान त्रुटि