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

Mysql + php जैसे विशेष पात्रों के साथ '(एपोस्ट्रोफ) और (उद्धरण चिह्न)

आपका sql स्ट्रिंग होगा:

INSERT INTO `table` (`row1`) VALUES ('google's site')

जो एक वैध कथन नहीं है। जैसा कि नैन ने लिखा है, कम से कम mysql_real_escape_string के साथ स्ट्रिंग से बचें:http ://php.net/manual/en/function.mysql-real-escape-string.php

और sql इंजेक्शन के बारे में पढ़ेंhttp://en.wikipedia.org/wiki/SQL_injection

थोड़ा सोचें:अगर कोई इसे पोस्ट करता है:$_POST['text'] मान के साथ:');delete from table;....

आप अपने डेटा को अलविदा कह सकते हैं :)

हमेशा इनपुट को फ़िल्टर/एस्केप करें!

संपादित करें:PHP 5.5.0 के रूप में mysql_real_escape_string और mysql एक्सटेंशन बहिष्कृत हैं। इसके बजाय कृपया mysqli एक्सटेंशन और mysqli::escape_string फ़ंक्शन का उपयोग करें



  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 - IN () के भीतर मानों द्वारा ऑर्डर करें

  2. MySQL DROP सभी टेबल, विदेशी कुंजियों की अनदेखी

  3. SQL दिनांक अंतराल क्वेरी

  4. उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' (पासवर्ड का उपयोग करके:हाँ) के लिए प्रवेश अस्वीकृत - कोई विशेषाधिकार नहीं?

  5. MySQL और PHP द्वारा <विकल्प चयनित =चयनित> सेट कैसे करें?