我知道有關於此主題的其他帖子,但他們不回答基本問題。以前的答案都說使用PDO :: PARAM_NULL,但是這並不能消除使用PDO的全部原因嗎?無法設置NULL與PDO
這裏是我的代碼:
$sql = "INSERT INTO users_address (uid,street1,street2,city,state,region,postalcode,country) VALUES (?,?,?,?,?,?,?,?)";
$stmt = $this->db->conn_id->prepare($sql);
$stmt->bindParam(1, $uid, PDO::PARAM_INT);
$stmt->bindParam(2, $street1, PDO::PARAM_STR);
$stmt->bindParam(3, $street2, PDO::PARAM_STR);
$stmt->bindParam(4, $city, PDO::PARAM_STR);
$stmt->bindParam(5, $state, PDO::PARAM_STR);
$stmt->bindParam(6, $region, PDO::PARAM_STR);
$stmt->bindParam(7, $postalcode, PDO::PARAM_STR);
$stmt->bindParam(8, $country, PDO::PARAM_STR);
$stmt->execute();
並非所有這些值都必需的,這樣有時候他們是空的。 varchar和int數據庫字段都有default = null。我怎樣才能做到這一點,以便如果變量恰好爲null,那麼null會被插入?我見過的所有其他答案都爲第二個參數傳遞了NULL,但是我怎麼知道它在運行時是空的?
要清楚。我不想隱式插入null。如果用戶沒有完成表單,我想要插入一個可能爲null的變量。並非所有字段都需要在表單上。例如,在這個例子中,$ street2。
你究竟想要插入什麼(即'$ street1','$ city' ...包含什麼?),你會得到什麼? – 2014-09-29 14:22:01
可能重複[如何使用PDO插入NULL值?](http://stackoverflow.com/questions/1391777/how-do-i-insert-null-values-using-pdo) – DanFromGermany 2014-09-29 14:24:09
不是重複丹和我解釋了爲什麼。 :) 這些字段來自已發佈的表單。並非所有字段都是必需的,所以有些可能爲空。我收到一個錯誤,說不能處理空值。 – 2014-09-29 14:26:52