मुझे इस कोड में त्रुटि मिल रही है:
try {$ db = parent: : getConnection (); यदि ($ this- & gt; id == 0) {$ query = 'लेख में डालें (संशोधित, उपयोगकर्ता नाम, यूआरएल, शीर्षक, विवरण, अंक)'; $ Query। = "मान ('$ this- & gt; getModified ()', '$ this- & gt; उपयोगकर्ता नाम', '$ this- & gt; url', '$ this- & gt; शीर्षक', '$ this- & gt ; विवरण ',' $ this- & gt; अंक ') "; } और यदि ($ the-> ID = =) {$ query = "अपडेट आलेख संशोधित = CURRENT_TIMESTAMP, उपयोगकर्ता नाम = '$ this- & gt; उपयोगकर्ता नाम', url = '$ this- & gt; url', title = '$ This- & gt; title', विवरण = '$ this- & gt; वर्णन', अंक = '$ this- & gt; अंक', रैंकिंग = '$ this- & gt; रैंकिंग' जहां आईडी = '$ इस- & gt; आईडी ''; } $ Lastid = parent :: execSql2 ($ query); यदि ($ this- & gt; आईडी == 0) $ this- & gt; आईडी = $ lastid; } पकड़ (अपवाद $ ई) {error_log ($ e); } मुझे क्या जोड़ना है, इसलिए मुझे कुछ अर्थपूर्ण SQL त्रुटि संदेश मिलें?
(यह कुछ प्रश्नों के लिए लगता है कि उपयोगकर्ता नाम नहीं मिल रहा है)
संपादित करें: मुझे यह त्रुटि लॉग मिलता है:
अपवाद 'अपवाद' में / home1 / mexautos / public_html / kiubbo / data / Model.php: 90 स्टैक ट्रेस: # 0 / होमे 1 / मैक्सोटॉस / पब्लिक_हैलिक / kyubbo / data /article.php(276): मॉडल :: execSQl2 ('अपडेट आलेख ...') # 1 / होम 1 / मेक्सैटोस / पब्लिक_हेट / Kiubbo / data / article.php (111): अनुच्छेद- & gt; सहेजें () # 2 /home1/mexautos/public_html/kiubbo/pages/frontpage.php(21): आलेख- & gt; रैंकिंग की गणना () # 3 / home1 / मैक्सॉटोस / पब्लिक_एचटीएमएल / किबुबो / पन्ने / फ्रंट पेज। Php (27): फ़्रंटपेज- & gt; अपडेट रॅंकिंग () # 4 /होम 1 / मैक्सॉटॉस / पब्लिक_एचटीएमएल / kibbo / इंडेक्स। Php (15): फ्रंटपेज- & gt; शो टोपअर्टिक्म्स ('426') # 5 {मुख्य} धन्यवाद,
सादर,
कार्लोस
इसे संभालने का सबसे अच्छा तरीका एक कस्टम अपवाद का उपयोग करना है जो आपके डेटाबेस हैंडलर द्वारा फेंक दिया जाएगा
वर्ग डेटाबेसअंतरिक अपवाद {सार्वजनिक फ़ंक्शन __construct ($ errorMesssage, $ query) {नया अपवाद ($ त्रुटि संदेश) "क्वेरी के लिए:"। $ क्वेरी); }} और इसलिए आप या तो अपनी डेटाबेस लाइब्रेरी में त्रुटि का पता लगा सकते हैं और वहां से फेंक सकते हैं, या आपके द्वारा आपके प्रयास के वक्त में हो सकता है:
यदि ($ Db- & gt; कुछ ईर्रर) नए डेटाबेस ईररएक्सेशन ($ db- & gt; कुछ त्रुटि, $ क्वेरी) को छोड़ दें; और आपका कैच स्टेटमेंट
पकड़ (डेटाबेसईआररएक्सेप्शन $ ई) {error_log ($ e- & gt; getMessage ()) में बदल जाएगा; // या जो कुछ भी आप से निपटना चाहते हैं }
Comments
Post a Comment