2010-07-13 5 views
15

मेरे पास एक कोडनिर्देशक ऐप है (संस्करण 2.1.0 का उपयोग करके) जो एक MySQL डेटाबेस में एक लेनदेन लिख रहा है। मुझे पूरा यकीन है कि मुझे एक विदेशी कुंजी बाधा उत्पन्न हो रही है, लेकिन मुझे सीआई को मुझे विशिष्ट त्रुटि बताने का कोई तरीका नहीं मिल रहा है। mysql_error() वापस खाली आता है।कोडनिर्देशक के तहत, क्या mysql_error() देखना संभव है?

क्या कोई मुझे बता सकता है कि कोडिनेटर को मुझे mysql त्रुटि संदेश बताने के लिए कैसे प्राप्त करें?

उत्तर

2

आप mysql_error तक पहुँचने के लिए डाटाबेस कक्षा में call_function उपयोग करने में सक्षम हो सकता है:

http://ellislab.com/codeigniter/user-guide/database/call_function.html

बेशक

, आप भी बस, डीबी config में डिबग ध्वज पर बारी प्रदर्शित करने के लिए सीआई बताने के लिए कर सकता है डाटाबेस त्रुटियों:

http://ellislab.com/codeigniter/user-guide/database/configuration.html

db_debug - सही/गलत (बुलियन) - Wheth एर डेटाबेस त्रुटियों को प्रदर्शित होना चाहिए।

+0

जब मैं call_function ('mysql_error') का उपयोग करने के, मैं निम्नलिखित प्राप्त करने का प्रयास: "यह सुविधा डेटाबेस का उपयोग कर रहे लिए उपलब्ध नहीं है । " यह mysql के तहत एक innodb तालिका है। मेरे पास $ db ['default'] ['db_debug'] = डेटाबेस.php कॉन्फ़िगरेशन फ़ाइल में TRUE है। मुझे जितना अधिक मिलता है वह मेरा अपवाद और एक स्टैक ट्रेस है। यह बहुत निराशाजनक है। अभी, मुझे लगता है कि सीआई के साथ जाने की तरह एक बड़ी गलती थी। – pbarney

+0

@pbarney अभी तक इसे छोड़ नहीं है, मेरा उत्तर – DRL

+1

पर भी ध्यान दें, जैसा कि 'call_function' पृष्ठ पर उल्लिखित है, आपको ** mysql_' उपसर्ग के बिना ** फ़ंक्शन का नाम पास करना होगा। – Amber

35

हां, यह mysql_error() wrapper है।

$this->db->_error_message(); 

और mysql_errno आवरण है:

$this->db->_error_number(); 
+0

सीआई के वर्तमान संस्करण में, वे निजी कार्य हैं। मूल फ़ाइलों को संशोधित करने के लिए उन तक पहुंच प्राप्त करने के सर्वोत्तम तरीके पर कोई सुझाव? – pbarney

+0

मुझे यह नहीं मिला, मेरा मतलब है कि इसका उपयोग कैसे करें। मैंने कोशिश की लेकिन प्रदर्शन में कुछ भी नहीं मिला। @DRL –

+0

मुझे यह मिल गया है -> अपरिभाषित विधि CI_DB_mysqli_driver :: _ error_number() पर कॉल करें। मैं PHP 5.6 का उपयोग कर रहा हूँ –

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