एक अनिवार्य अपडेट :जैसा कि mysql ext अब और नहीं है, यहां दो शेष MySQL API के उत्तर दिए गए हैं जो मैंने अपनी साइट पर स्टैक ओवरफ़्लो पर 1000s प्रश्नों के उत्तर देने के अनुभव के आधार पर लिखे हैं:
- mysqli में त्रुटियों की रिपोर्ट कैसे करें
- PDO का उपयोग करके MySQL से कैसे कनेक्ट करें (उचित त्रुटि रिपोर्टिंग के उद्देश्य से)।
संक्षेप में, mysqi के लिए निम्न पंक्ति को mysqli_connect()
. से पहले जोड़ना होगा कॉल करें:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
जबकि पीडीओ के लिए उचित त्रुटि मोड सेट करना होगा, उदाहरण के लिए
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
पुराने mysql एक्सटेंशन के अनुसार,
mysql_query()
से त्रुटि प्राप्त करने के लिए आपको mysql_error()
का उपयोग करना होगा फ़ंक्शन।
इसलिए हमेशा अपने सभी प्रश्नों को इस तरह चलाएं, कम से कम जब तक आप एक अधिक उन्नत क्वेरी हैंडलर विकसित नहीं करते:
$query = "SELECT * FROM 'users'";
$result = mysql_query($query) or trigger_error(mysql_error()." ".$query);
आपकी वर्तमान क्वेरी में समस्या है 'users'
अंश। स्ट्रिंग्स को सीमांकित करने के लिए सिंगल कोट्स का उपयोग किया जाना चाहिए, जबकि पहचानकर्ताओं के लिए आपको बैकटिक्स का उपयोग करना होगा:
SELECT * FROM `users`
विकास के दौरान इन त्रुटियों को देखने के लिए, अपने कोड के शीर्ष पर इन पंक्तियों को जोड़कर सुनिश्चित करें कि आप प्रत्येक त्रुटि को देख सकते हैं
ini_set('display_errors',1);
error_reporting(E_ALL);
उत्पादन सर्वर पर, हालांकि, पहली पंक्ति के मान को 1 से 0 में बदला जाना चाहिए