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

अमान्य पैरामीटर संख्या:पैरामीटर परिभाषित नहीं किया गया था डेटा सम्मिलित करना

केवल उत्तर देने के लिए - क्योंकि यह त्रुटि बहुत सामान्य है - यहाँ कुछ कारण दिए गए हैं:

1) :parameter नाम गलती से बाइंड से मेल नहीं खाता (टाइपो?) यहाँ यही हुआ। उसके पास :alias . है SQL कथन में, लेकिन बाध्य :username . इसलिए जब परम बाइंडिंग का प्रयास किया गया, तो Yii/PDO को :username . नहीं मिला sql स्टेटमेंट में, जिसका अर्थ है "एक पैरामीटर छोटा" और एक त्रुटि हुई।

2) bindValue() जोड़ना पूरी तरह से भूल जाना एक पैरामीटर के लिए। Yii अन्य निर्माणों जैसे $critera . में ऐसा करना आसान है , जहां आपके पास एक सरणी या पैरा है ($criteria->params = array(':bind1'=>'test', ':bind2'=>'test) )।

3) together का उपयोग करते समय CDataProvider पेजिनेशन और/या सॉर्टिंग के साथ अजीब विरोध और joins . इसका वर्णन करने का कोई विशिष्ट, आसान तरीका नहीं है, लेकिन CDataProviders में जटिल प्रश्नों का उपयोग करते समय मेरे पास अजीब मुद्दे हैं जिनमें पैरामीटर गिर रहे हैं और यह त्रुटि हो रही है।

Yii में इन समस्याओं का निवारण करने का एक बहुत ही उपयोगी तरीका है पैरामीटर लॉगिंग सक्षम करना आपकी कॉन्फ़िगरेशन फ़ाइल में। इसे अपने db . में जोड़ें आपकी कॉन्फ़िग फ़ाइल में सरणी:

'enableParamLogging'=>true,

और सुनिश्चित करें कि CWebLogRoute मार्ग आपके log . में सेट किया गया है खंड। यह उस क्वेरी को प्रिंट करेगा जो दी गई थी और त्रुटि, और सभी पैरामीटर जो इसे बांधने का प्रयास कर रहे थे। बहुत मददगार!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कुल कार्यों के साथ एक MySQL क्वेरी में समूहीकृत रिकॉर्ड का पहला और अंतिम रिकॉर्ड कैसे प्राप्त करें?

  2. प्रदर्शन को बढ़ावा देने के लिए mysql

  3. मैं MySQL में BLOB से TEXT में कैसे परिवर्तित करूं?

  4. MySQL रूट पासवर्ड कैसे रीसेट करें

  5. cPanel MySQL डेटाबेस के साथ कार्य करना