尝试在整数字段中插入空值时,我遇到了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!
在那一刻:场地不是空的,它就像一个魅力,即使:cname(文本)仍然是空的,但是当:场地是空的这样我得到一个未定义的错误。所以我想只发生整数字段,我错过了什么?
答案 0 :(得分:1)
在执行语句之前尝试这个:
$_POST['venue'] = (int) $_POST['venue'];
答案 1 :(得分:0)
我意识到在这种查询中将空值传递给整数字段没有问题。问题是当场地为空时我在$ _POST中再发送一个元素,因此$ _POST中的元素数量与占位符数量不同。
感谢您的帮助!