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

Mysql_real_escape_string का सुरक्षित विकल्प? (पीएचपी)

  • हर बार जब आप इस फ़ंक्शन को कॉल कर रहे हों तो कनेक्ट करना एक भयानक विचार है। एक अच्छे नियोजित एप्लिकेशन में ऐसी विषम सीमा नहीं होगी।
  • आप प्रतिस्थापन का उपयोग कर सकते हैं, जैसे कि
    myquery("SELECT * FROM table WHERE id = %s","My string");

  • आप प्रतिस्थापन के दूसरे तरीके का उपयोग कर सकते हैं, एक आधुनिक एक:तैयार बयान। इसका वर्णन कई अन्य उत्तरों में किया जाएगा।

जैसा कि अभी तक किसी ने इसे पोस्ट नहीं किया है, यहाँ एक मोटा उदाहरण है

function fetchAll(){
 $args = func_get_args();
 $query = array_shift($args);
 $stmt = $pdo->prepare($query);
 $stmt->execute($args);
 return $stmt->fetchAll();
}
$a=$db->fetchAll("SELECT * FROM users WHERE status=? LIMIT ?,?",$status,$start,$num);
  • जब तक आप सिंगल-बाइट एन्कोडिंग या utf-8 का उपयोग कर रहे हैं, तब तक mysql_real_escape_string का उपयोग करने की कोई आवश्यकता नहीं है, इसलिए mysql_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 में एक क्वेरी कैसे चला सकता हूँ?

  2. एक MySQL उपयोगकर्ता को डेटाबेस बनाने के लिए किस अनुमति की आवश्यकता होती है?

  3. MySQL 5.7.12 आयात CHARACTER SET 'बाइनरी' वाली स्ट्रिंग से JSON मान नहीं बना सकता

  4. एकाधिक तालिकाओं को जोड़ने के लिए ट्रिगर

  5. मुझे कर्मचारी तालिका से दूसरा सबसे बड़ा वेतन कैसे मिलेगा?