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

पीडीओ php . का उपयोग कर डेटाबेस में नेमस्पेस के साथ क्रमबद्ध वस्तु को कैसे स्टोर करें?

यहां कई चीजें गलत हैं, लेकिन सबसे बड़ी बात यह है कि आप क्वेरी पैरामीटर का उपयोग नहीं कर रहे हैं।

नहीं addslashes का उपयोग करें . यदि आप स्वयं को इसका उपयोग करते हुए पाते हैं, तो आपको सोचना चाहिए "ओह, मुझे क्वेरी ठीक करने की आवश्यकता है इसलिए मैं इसके बजाय पैरामीटर का उपयोग करता हूं"।

इस मामले में, आपको कुछ इस तरह लिखना चाहिए:

$sth = $pdo->prepare('SELECT replace_value(?, ?, ?)');
$sth->execute(array('protect\classes\Router', $tmp, 'serialized_classes'));

आपने यह उल्लेख नहीं किया है कि आप जिस डेटा प्रकार के तर्क को क्रमबद्ध डेटा पास करते हैं उसका डेटा प्रकार क्या है। उपरोक्त केवल तभी काम करेगा जब यह text हो या varchar या समान।

अगर यह bytea है जैसे यह क्रमबद्ध ऑब्जेक्ट डेटा के लिए होना चाहिए, आपको PHP को बताना होगा कि पैरामीटर एक बाइनरी फ़ील्ड है:

$sth = $pdo->prepare('SELECT replace_value(:router, :serialbytes, :mode)');
$sth->bindParam(':router', 'protect\classes\Router');
$sth->bindParam(':mode', 'serialized_classes');
$sth->bindParam(':serialbytes', $tmp, PDO::PARAM_LOB);
$sth->execute();

PDO::PARAM_LOB . के उपयोग पर ध्यान दें पीडीओ को यह बताने के लिए कि $tmp PostgreSQL को bytea . के रूप में पास करने के लिए बाइनरी डेटा शामिल है ।

('protect\classes\Router' . जैसे स्थिरांक डालना ठीक है सीधे आपके प्रश्नों में, बीटीडब्ल्यू, जब तक आप उन्हें कभी भी चर बनने पर पैरा में विभाजित करते हैं। मैंने ज्यादातर उन्हें अलग कर दिया क्योंकि मुझे इस तरह की क्वेरी में यह अधिक पठनीय लगता है।)



  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. मैंने postgresql md5 को scram-sha-256 में बदलने की कोशिश की और मुझे FATAL पासवर्ड प्रमाणीकरण विफल हो गया

  3. मैं किसी भूमिका के लिए सभी डेटाबेस और ऑब्जेक्ट ग्रांट की समीक्षा कैसे कर सकता हूं?

  4. बड़ी मात्रा में डेटा के लिए PostgreSQL को स्केल करना

  5. क्या सिलेक्ट की गारंटी ऑर्डर को देखते हुए ऑर्डर करता है?