php - mysql doesn't recognize text and number combinations -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 33 उत्तर
मैंने एक साधारण उदाहरण लिखा है मेरी समस्या का नीचे:
& lt; html & gt; & LT; बॉडी & gt; & Lt; form action = "test.php" विधि = "पोस्ट" & gt; & Lt; input type = "text" name = "refValue" & gt; & Lt; इनपुट प्रकार = "सबमिट करें" name = "go" & gt; & Lt; / प्रपत्र & gt; & Lt;? Php $ sql_connect = mysql_connect ("स्थानीयहोस्ट", "रूट", "रूट") या मर ("कोई कनेक्ट नहीं"); $ Sql_data = mysql_select_db ("सूरज", $ sql_connect) या मर ("कोई डेटाबेस नहीं"); $ RefVal = $ _POST ['refValue']; $ सपा = mysql_query ("चयन से डेटा जहां रेफरी ="। $ RefVal); जबकि ($ col = mysql_fetch_array ($ SP)) {गूंज $ col ['num']; }; ? & Gt; & Lt; / body & gt; & Lt; / html & gt;
यह जो मेज से जुड़ता है वह मूल रूप से दो पंक्तियों के साथ दो कॉलम है और इसे दिखाया गया है:
** ref ** --- ** num ** 123 --- 32.74 83 ए --- 29.54
जब मैं टेक्स्ट फ़ील्ड में 123 दर्ज करता हूं और सबमिट करें, यह अपेक्षित होता है और 32.74 दिखाता है, लेकिन जब मैंने 83 ए को पाठ बॉक्स और प्रेस सबमिट करें मुझे एक त्रुटि मिलती है:
चेतावनी: mysql_fetch_array () पैरामीटर 1 संसाधन होने की उम्मीद है, बूलियन सी: \ wamp \ www \ testing \ test.php पंक्ति 20 पर दिया गया है
मैंने डेटाबेस की जांच की और रिफ कॉलम को VCHAR (4)
के रूप में सेट किया गया है और num को DECIMAL (4,2) के रूप में सेट किया गया है
।
यह विशिष्ट समस्या इसलिए है क्योंकि आप अपनी स्ट्रिंग का उद्धरण नहीं करते।
< P> के बजाय: $ सपा = mysql_query ("चयन करें * से डेटा कहां रेफरी ="। $ RefVal);
आपको इसकी आवश्यकता है:
$ SP = mysql_query ("चयन करें डेटा से * जहां रिफ = '। $ RefVal।"' ');
हालांकि , मैं आपको तैयार कोडों के उपयोग के लिए PDO या mysqli पर स्विच करने के लिए दृढ़ता से आग्रह करता हूं क्योंकि mysql _ *
फ़ंक्शंस नापसंद होते हैं और आप एक गंभीर एसक्यूएल इंजेक्शन समस्या है।
Comments
Post a Comment