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

mysql तालिका में $variable या $_POST मान सम्मिलित करना

SQL में, स्ट्रिंग मानों को उद्धृत करने की आवश्यकता है:

VALUES ('value1', 'value2')"

जब आप चर का उपयोग करते हैं:

VALUES ($var1, $var2)");

उन्हें उद्धृत नहीं किया जाता है ... जब तक कि उद्धरण स्वयं मूल्यों में न हों।

तो अगर $var1 = 'value1'; $var2 = 'value2' तब (वेरिएबल आपके स्ट्रिंग में इंटरपोलेट किए जाने के बाद) आपका SQL इस तरह दिखता है:

VALUES (value1, value2)"

आप उद्धरण जोड़कर अपनी तत्काल समस्या का समाधान कर सकते हैं:

VALUES ('$var1', '$var2')");

लेकिन यह आपकी प्रमुख सुरक्षा भेद्यता को ठीक नहीं करता है और आपके डेटा को अलग-अलग तरीकों से क्वेरी को तोड़ने देता है।

आपको वेरिएबल से स्ट्रिंग्स असेंबल करके SQL स्टेटमेंट बनाने से बचना चाहिए . इस तरह 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. दिनांक सीमाओं की तुलना करना

  2. मैसकल एक विशिष्ट कॉलम में प्रत्येक शब्द का पहला अक्षर निकालता है

  3. सिंटैक्स त्रुटि प्राप्त करना जारी रखें (php/mysql)

  4. सभी फ़ील्ड चुनें जिनमें केवल अपरकेस अक्षर हों

  5. Sequelize के साथ संबद्ध प्रविष्टियों की गणना करना