php - Prepared SQL Statement returning blank from Database -
यह कोड है, निम्नलिखित (स्पष्टीकरण बाद में है):
& lt; php error_reporting (E_ALL); ini_set ( 'display_errors', 1); $ Uname = $ _POST ['uname']; अगर ($ uname! = "") {$ Mysqli = नया mysqli ('localhost', 'root', '', 'dota_site_test'); यदि (mysqli_connect_errno ()) {गूंज ("connetion त्रुटि:"। Mysqli_connect_errno ()); बाहर जाएं(); } $ Stmt = $ mysqli- & gt; तैयार ("प्रयोक्ता नाम का चयन करें उपयोगकर्ता नाम कहाँ है?"); $ Stmt - & gt; बाइंड_परम ("s", $ uname); $ Stmt - & gt; निष्पादित(); $ Stmt - & gt; bind_result ($ unamecheck); अगर ($ stmt- & gt; num_rows & gt; 0) {गूंजती "लिया:"; गूंज "नाम है"। $ Unamecheck; } Else {गूंजती "फ्री:"; गूंज "नाम है"। $ Unamecheck; } $ Stmt - & gt; बंद करे(); $ Mysqli - & gt; बंद करे(); }? & Gt;
मुझे यकीन नहीं है कि समस्या कहां है, लेकिन जब मैं नीचे हूँ, तो गूंजने की कोशिश कर रहा है "नाम है" $ Unamecheck;
, यह अभी खाली रिक्त है जिस तरह से यह कोड काम करता है वह है कि प्रत्येक कुंजी पर क्वेरी को यह देखने के लिए चलाया जाता है कि उपयोगकर्ता नाम डेटाबेस में पहले से मौजूद है या नहीं। मैंने अपने अजाक्स की जांच की है, और $ uname = $ _POST ['uname'];
ठीक काम कर रहा है
इसके अतिरिक्त, मैंने "mysql" के भीतर, यूआरएल के साथ ?
की जगह, "यूजर नाम =" और यह ठीक काम किया
क्या मैंने तैयार बयान के साथ गलती की है? मुझे यकीन नहीं है कि यह वैसे ही किया जाना चाहिए, लेकिन मैं एसक्यूएल इंजेक्शन के साथ सावधान रहने की कोशिश कर रहा हूं।
मेरे परीक्षण का नतीजा सिर्फ मुक्त दिखाता है: नाम
इनपुट के बावजूद गूंज रहा है कोई अन्य त्रुटि कोड मौजूद नहीं हैं।
आपको कॉल करने की आवश्यकता है
$ Stmt - & gt; लाने ();
के बाद
$ stmt - & gt; bind_result ($ unamecheck);
Comments
Post a Comment