मुझे लगता है कि आपको जो समस्या हो रही है वह यह है कि आप ऑब्जेक्ट-ओरिएंटेड और गैर-ओओ कॉल को MySQLi लाइब्रेरी में जोड़ रहे हैं।
mysqli_error()
फ़ंक्शन को वास्तव में एक पैरामीटर की आवश्यकता होती है - इसके लिए कनेक्शन चर की आवश्यकता होती है; आपके मामले में, $conn
।
mysqli_error($conn)
हालाँकि, यदि आपने इसे OO तरीके से लिखा होता, जैसा कि आपने अधिकांश डेटाबेस कॉल के लिए किया है, तो आपने इसे इस तरह लिखा होगा:
$conn->error
चूंकि आपका शेष सभी कोड ऑब्जेक्ट-ओरिएंटेड कॉल्स का उपयोग करके लिखा गया है, इसलिए इस कॉल के लिए भी इसका उपयोग करना समझदारी होगी।
तो आपके कोड की पूरी लाइन इस तरह दिखेगी:
$result = $conn->query($sql) or die($conn->error);
आप PHP मैनुअल में और उदाहरण देख सकते हैं:http://php.net/manual /hi/mysqli.error.php
आशा है कि यह मदद करता है।
आपके द्वारा उपयोग की जा रही पुस्तक के बारे में आपके प्रश्न के संबंध में:मैं सीधे पुस्तक पर ही टिप्पणी नहीं कर सकता क्योंकि मैंने इसे पढ़ा नहीं है। लेकिन ध्यान दें कि PHP के लिए दो MySQL पुस्तकालय हैं; पुराना mysql
पुस्तकालय, और नया mysqli
पुस्तकालय। पुराने पुस्तकालय में एक mysql_error()
भी है फ़ंक्शन, जो नए से भिन्न होता है, इसमें कनेक्शन चर की आवश्यकता नहीं होती है। यदि आपके द्वारा उपयोग की जा रही पुस्तक में कोई त्रुटि है, तो यह भ्रम का स्रोत हो सकता है।