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

दिनांक फ़ील्ड खाली होने पर PHP के माध्यम से PostgreSQL DB में NULL डालें

आपकी समस्या यह है कि आपके SQL के अंदर सिंगल कोट्स हैं:

INSERT INTO product (first_field, second_field, third_field, my_date) 
VALUES ('$data[0]', '$data[1]', '$data[2]', '$data[3]')

तो अगर $data[0] स्ट्रिंग है "NULL" , आप इसके साथ समाप्त हो जाएंगे:

INSERT INTO product (first_field, second_field, third_field, my_date) 
VALUES ('NULL', ...

और आप एक स्ट्रिंग सम्मिलित करने का प्रयास करेंगे जिसमें NULL शाब्दिक के बजाय NULL है। आपको अपना उद्धरण $data . के अंदर करना होगा आपके SQL के अंदर के बजाय मान:

# Warning: my PHP is a bit rusty but I think this is right
if(empty($data[0])) {
    $data[0] = "NULL";
}
else {
    $data[0] = "'" . pg_escape_string(utf8_encode($data[$c])) . "'";
}

और फिर बाद में:

pg_query($_db, "INSERT INTO product (first_field, second_field, third_field, my_date) 
    VALUES ($data[0], $data[1], $data[2], $data[3])";

या बेहतर, PDO पर स्विच करें और तैयार बयानों का उपयोग करें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sqlalchemy के साथ जिन इंडेक्स का उपयोग करके रैंक किए गए खोज परिणाम लौटाते हैं

  2. किसी अन्य तालिका से आईडी प्राप्त करने के बाद तालिका में सम्मिलित करें

  3. मैं sqlalchemy के साथ डॉकर के भीतर postgresql का उपयोग कैसे करूं?

  4. PostgreSQL - फ्लोटिंग पॉइंट नंबरों को गोल करना

  5. क्यों आदेश \dt देता है - कोई संबंध नहीं मिला?