这是我的表:
表名:标签
列名:标记
这些是VARCHAR(255)
类型,它们唯一。
当我尝试从phpmyadmin插入"#music"
时,我得到了预期的结果:
#1062 - Duplicate entry '#music' for key 'tag'
然而,当我尝试通过php尝试这样做时,使用这段代码:
...
try{
$music = "#music";
$sql = $dbh->prepare( "INSERT INTO tags (tag) VALUES (?)" );
$sql->execute(array($music));
$firephp->log("inserted");
}
catch(PDOException $e)
{
if($e->getCode() == 1062)
$firephp->log("1062");
else
$firephp->log("else");
}
firephp输出“插入”到控制台,它不会跳转到catch块。而且,桌子上没有插入任何东西。当我尝试添加非唯一值时,它会将其添加到表中。
我在这里缺少什么?为什么PDO不会抛出异常?