我有更新查询
$ query = $ db-> prepare(“UPDATE user SET
UserID
='6',UserName
='xyz'WHERE UserID ='6'”); $查询 - >执行();
它运行良好,但是当我将字段用户名更改为用户名
时$ query = $ db-> prepare(“UPDATE user SET
UserID
='6',UserNamee
='xyz'WHERE UserID ='6'”); $查询 - >执行();
它应显示错误,但不显示任何错误
我只是想在我的项目中处理这些错误。
答案 0 :(得分:1)
您可以使用errorCode()函数跟踪PDO中的错误此函数返回0000时没有错误,否则返回4位数字(错误代码),您可以尝试以下示例:
$query = $db->prepare("UPDATE user SET UserID='6',UserNamee='xyz' WHERE UserID= '6' ");
$query->execute();
if($query->errorCode()=='0000')
{ echo 'no error'; }
else
{ echo 'error'; }
答案 1 :(得分:0)
PDO有各种错误模式,您可以将其作为driver_options
参数传递给constructor。您可以在http://php.net/manual/en/pdo.setattribute.php找到它们。大多数人使用array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)
。
答案 2 :(得分:0)
你应该使用try-catch:
try {
$query = $db->prepare("UPDATE user SET UserID='6',UserName='xyz' WHERE UserID= '6' ");
$query->execute();
} catch (PDOException $e) {
echo $e->getMessage();
}
请记住在数据库连接后执行此操作:
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
答案 3 :(得分:-1)
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
$query = $db->prepare("UPDATE user SET UserID='6',UserNamee='xyz' WHERE UserID= '6' ");
if (!$query) {
print_r($db->errorInfo());
}
else
$query->execute();