【发布时间】:2014-05-17 05:48:04
【问题描述】:
我有三个“:”(名字)
$q = $db->prepare('INSERT INTO '.PRFX.'u
(phone,mail,lvl,regdate,act_lnk,joined,name,first_time)
VALUE(:phone,:mail,0,"'.time().'","'.md5(uniqid(mt_rand(),1)).'","'.DATETIME.'",:name,1)');
$q->execute(
array(
'phone'=>$_POST['phone'],
'mail'=>$_POST['mail'],
'name'=>$_POST['name']
)
);
它们是匹配的。那么为什么我会收到错误消息?
【问题讨论】:
-
可能是因为_POST['mail']为空?如何解决这个问题?
-
正确转义你的字符串
-
我已经做到了:
if(empty($_POST['mail'])) $_POST['mail'] = "0";,它似乎工作 -
是否可以将 EMPTY 值添加到数据库?并且仍然没有错误地接受它?
-
这将取决于您的表结构,例如您的表是否允许插入 NULL 值