Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL तालिका में क्वेरी नहीं खोज सकता

आपके ऐसा करने के तरीके में कई चीजें गलत हैं।

सबसे पहले, आप अपना मूल्य उद्धृत नहीं करते हैं:'$key'

$query = "SELECT * FROM `keys` WHERE `key` = '$key'";

दूसरा, आपका कोड SQL इंजेक्शन के लिए व्यापक रूप से खुला है। अपने मूल्य से बचें:

$key = mysql_real_escape_string($_GET["key"]);

उपरोक्त कोड वह न्यूनतम न्यूनतम है जो आपको करने की आवश्यकता है।
अगली बात यह है कि mysql_ फ़ंक्शंस लंबे समय से बहिष्कृत हैं और PHP 7 में हटा दिए गए हैं।

आपको या तो mysqli_ . पर स्विच करना होगा या PDO . जितनी जल्दी आप स्विच करेंगे, उतना ही बेहतर होगा। अधिक जानकारी के लिए कृपया इस प्रश्न को पढ़ें:मैं PHP में SQL इंजेक्शन को कैसे रोक सकता हूँ?

उपरोक्त सभी समस्याओं के अलावा, यदि आप कभी भी कीवर्ड और आरक्षित शब्द तालिका या स्तंभ नामों के रूप में, जैसा कि जे ब्लैंचर्ड ने नोट किया है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql(i)_real_escape_string, पर भरोसा करना सुरक्षित है?

  2. बेस 64 एन्कोडेड छवि को सर्वर-साइड डेटाबेस में BLOB के रूप में सहेजें

  3. RDS पर MySQL इंस्टेंस को स्पिन करने के लिए क्लाउड फॉर्मेशन टेम्प्लेट का उपयोग करें

  4. डेटाबेस सत्र संदर्भ में परिवर्तन पूल किए गए कनेक्शन के पुन:उपयोग के साथ बना रहता है

  5. उपनाम mysql का उपयोग करते समय अज्ञात स्तंभ