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

Php . का उपयोग करके मैसकल से उपयोगकर्ता टिप्पणी प्राप्त करें

आप अपने इन्सर्ट स्टेटमेंट में सिंगल-कोट्स का उपयोग कर रहे हैं:

$sth3 = $pdo3->prepare('
    INSERT INTO Comment (info, pID, cID)
    VALUES($comm, $pID3, $cID)
');

उन सरल उद्धरणों के साथ, $comm मूल्यांकन नहीं किया जाएगा -- और शाब्दिक $comm स्ट्रिंग को डेटाबेस में भेजा जाएगा - जिसके परिणामस्वरूप कुछ ऐसा होगा जिसकी आपको शायद उम्मीद नहीं है।


यदि आप चाहते हैं कि चरों को प्रक्षेपित किया जाए, तो आपको आपके स्ट्रिंग के चारों ओर दोहरे उद्धरण

लेकिन, चूंकि आप तैयार कथनों का उपयोग करने का प्रयास कर रहे हैं, आपको ऐसा नहीं करना चाहिए , वास्तव में।

इसके बजाय, आपको कथन में प्लेसहोल्डर का उपयोग करना चाहिए -- और, फिर, कथन को क्रियान्वित करते समय उन्हें अपने डेटा से बाँध लें।


आपका prepare कुछ इस तरह दिखेगा, मुझे लगता है:

$sth3 = $pdo3->prepare('
    INSERT INTO Comment (info, pID, cID)
    VALUES(:comm, :pID3, :cID)
');

नोट करें :comm , :pID3 , और :cID प्लेसहोल्डर।

और, फिर, कथन निष्पादित करते समय, आप वास्तव में प्लेसहोल्डर्स के अनुरूप कुछ वास्तविक डेटा पास करेंगे:

$sth3->execute(array(':comm' => $comm,':pID3' => $pID3,':cID' => $cID,));


अतिरिक्त नोट :चूंकि आप तैयार कथनों का उपयोग कर रहे हैं, आपको mysql_real_escape_string() का उपयोग करने की आवश्यकता नहीं है (जो एक पीडीओ-संबंधित फ़ंक्शन नहीं है, BTW, और इसका उपयोग केवल mysql_* के साथ काम करते समय किया जाना चाहिए। कार्य) :भागने को तैयार कथन तंत्रवाद द्वारा ही निपटाया जाता है।



  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. मैसकल स्लो क्वेरी:जॉइन + मल्टीपल WHERES + ऑर्डर बाय

  3. PHP - रेडियो बटन पर क्लिक करने पर डेटा को MySQL में कैसे अपडेट करें

  4. अल्पविराम से अलग किए गए मान की खोज कैसे करें

  5. MySQL EAV परिणामों को रिलेशनल टेबल के रूप में प्राप्त करने के लिए सबसे अच्छा प्रदर्शन क्या है