我试图在我的
PHP Web应用程序中捕获数据库(MYSQL)错误.目前,我看到有像mysqli_error(),mysqli_errno()这样的函数用于捕获最后发生的错误.但是,这仍然需要我在我的php代码中使用重复的if / else语句来检查错误发生.您可以查看我的代码,看看我的意思.有没有更好的方法来做到这一点? (或)我应该编写自己的代码来引发异常并在一个地方捕获它们吗?此外,PDO是否会引发异常?谢谢.
function db_userexists($name, $pwd, &$dbErr)
{
$bUserExists = false;
$uid = 0;
$dbErr = '';
$db = new mysqli(SERVER, USER, PASSWORD, DB);
if (!mysqli_connect_errno())
{
$query = "select uid from user where uname = ? and pwd = ?";
$stmt = $db->prepare($query);
if ($stmt)
{
if ($stmt->bind_param("ss", $name, $pwd))
{
if ($stmt->bind_result($uid))
{
if ($stmt->execute())
{
if ($stmt->fetch())
{
if ($uid)
$bUserExists = true;
}
}
}
}
if (!$bUserExists)
$dbErr = $db->error();
$stmt->close();
}
if (!$bUserExists)
$dbErr = $db->error();
$db->close();
}
else
{
$dbErr = mysqli_connect_error();
}
return $bUserExists;
}