Postgresql
插入不帶引號的空值
我正在創建一個依賴於 PostgreSQL 的 PHP 應用程序。現在我有這個查詢:
$query= 'INSERT INTO "users" ("name", "username", "email", "phone") VALUES (\''. $name .'\', \''. $username .'\', \''. $email.'\', '. $phone .')';
$phone
並且$name
值可以為空。當我執行這個查詢時,我得到一個語法錯誤。
所以我的問題是:要插入一個空值,我必須手動寫入空值還是我在查詢中遺漏了什麼?
編輯:
似乎我被迫將 null 寫為值。
根本不要使用這個語句。您對 SQL 注入持開放態度。
改用準備好的語句:
pg_prepare($pgconn, 'my_insert', "INSERT ... VALUES ($1, $2, ...)"); pg_query($pgconn, 'my_insert', array( $name, $username, ...));
這個函式曾經被呼叫
pg_exec()
。pg_exec()
出於兼容性原因,它仍然可用,但鼓勵使用者使用較新的名稱。有關的: