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

तालिका से एकाधिक आईडी चुनें

जब आप प्रक्षेपित करते हैं

"select * from info WHERE `id` IN ('$ids')"

आपकी आईडी के साथ, आपको मिलता है:

"select * from info WHERE `id` IN ('1,2,3,4,5')"

...जो आपके आईडी के सेट को पूर्णांकों के सेट के बजाय एक स्ट्रिंग के रूप में मानता है।

IN . में एकल-उद्धरणों से छुटकारा पाएं खंड, इस तरह:

"select * from info WHERE `id` IN ($ids)"

साथ ही, यह न भूलें कि आपको SQL इंजेक्शन हमलों की जांच करने की आवश्यकता है . आपका कोड वर्तमान में बहुत खतरनाक है और गंभीर डेटा हानि या पहुंच के जोखिम में है। विचार करें कि क्या हो सकता है यदि कोई आपके वेब पेज को निम्न URL के साथ कॉल करता है और आपके कोड ने उन्हें एक ही क्वेरी में कई कथन निष्पादित करने की अनुमति दी है:

http://www.example.com/myfile.php?theurl=1);delete from info;-- 


  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:कई क्षेत्रों पर अद्वितीय बाधा

  2. मध्य पंक्तियों में एक नई पंक्ति डालने के लिए MySQL सिंटैक्स?

  3. 1045, उपयोगकर्ता 'यूजरनेम'@'नॉट-लोकल' के लिए एक्सेस अस्वीकृत (पासवर्ड का उपयोग करके:हाँ)

  4. MySQL में एक्सेंट असंवेदनशील खोज क्वेरी

  5. Node.JS . में दिनांक स्वरूप