加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

使用PHP和MYSQL进行错误处理的推荐方法

发布时间:2020-12-13 17:03:27 所属栏目:PHP教程 来源:网络整理
导读:我试图在我的 PHP Web应用程序中捕获数据库(MYSQL)错误.目前,我看到有像mysqli_error(),mysqli_errno()这样的函数用于捕获最后发生的错误.但是,这仍然需要我在我的php代码中使用重复的if / else语句来检查错误发生.您可以查看我的代码,看看我的意思.有没有更
我试图在我的 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;
}

解决方法

我认为例外是最好的方法.在创建对象时,PDO会抛出您只需要设置PDO :: ERRORMODE_EXCEPTION的异常.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读