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

पीडीओ तैयार प्रश्नों का उपयोग कब करें। mysql_real_escape त्रुटि

आपको प्राप्त होने वाली त्रुटि का समाधान करने के लिए, mysql_real_escape_string() mysql_connect() . के माध्यम से एक खुले कनेक्शन की आवश्यकता है . चूंकि आपके पास एक नहीं है, यह कनेक्ट करने का प्रयास कर रहा है और विफल हो रहा है (matthew के उपयोगकर्ता नाम का उपयोग करके) , जबकि आपका पीडीओ root . से जुड़ रहा है ) इसके अतिरिक्त, आप नहीं कर सकते (या, नहीं ) मिक्स एंड मैच करें mysql_real_escape_string() और PDO - वे अलग-अलग पुस्तकालय हैं।

तैयार बयानों का उपयोग करने के लिए "कब" के संबंध में, अंगूठे का सामान्य नियम तब होता है जब मूल्यों को हार्डकोड नहीं किया जाता है। LIKE '%hotmail%' . का आपका उदाहरण इसे तैयार करने की आवश्यकता नहीं है, यह हार्डकोडेड है और कभी भी बदलने वाला नहीं है (जब तक कि आप इसे मैन्युअल रूप से अपडेट नहीं करते, निश्चित रूप से)।

यदि आपके पास कोई प्रश्न है जो किसी भी प्रकार के चर में ले जाएगा, तो यह $_POST से डेटा हो या $_GET , या एक वेरिएबल जिसे डेवलपर ने क्वेरी से पहले 10 लाइनें बनाई हैं, आपको एक तैयार कथन का उपयोग करना चाहिए (या कम से कम इससे बचें, पीडीओ::उद्धरण )।



  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. डेटटाइमफिल्ड के UNIX_TIMESTAMP प्राप्त करने के लिए Django QuerySet कैसे लिखें?

  3. PhpMyAdmin में UTF-8 वर्ण कैसे प्रदर्शित करें?

  4. मॉनिटरिंग Percona XtraDB क्लस्टर - प्रमुख मेट्रिक्स

  5. MySQL में UUID की तुलना में एक छोटा गैर-दोहराए जाने वाला अल्फ़ान्यूमेरिक कोड