[英]mdb2 error with integer = NULL in prepare statement
嘗試在整數字段中插入空值時,mdb2有一個煩人的問題。
$query = $conn->prepare("INSERT INTO enquiries
(type, idvenue, cname, fname, lname, phone, email, date, guests, budget, comments)
VALUES (:party, :venue, :cname, :fname, :lname, :phone, :email, :ddate, :guests, :budget, :options)",
array('integer', 'integer', 'text', 'text', 'text', 'text', 'text', 'datetime', 'integer', 'integer', 'text'),
MDB2_PREPARE_MANIP);
$result = $query->execute($_POST);
我的$ _POST數組是:
[party] => 2
[venue] =>
[anyve] => checked
[cname] =>
[fname] => Javi
[lname] => Prieto
[phone] => 078087028492
[email] => ravenfewejp@gmfweail.com
[ddate] => 10/10/2011
[guests] => 10
[budget] => 15
[options] => My party!
在:venue不為空的那一刻,即使:cname(text)仍然為空,它也像一種魅力一樣工作,但是當:venue為空時,我得到一個未定義的錯誤。 所以我想只發生在整數字段上,我想念什么?
在執行語句之前嘗試以下操作:
$_POST['venue'] = (int) $_POST['venue'];
我意識到在這種查詢中將null值傳遞給整數字段沒有問題。 問題是當場所為空時,我在$ _POST中又發送了一個元素,因此$ _POST中的元素數量與占位符數量不同。
謝謝您的幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.