You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检查数据库连接状态?PHP中可用哪些if语句测试连接?

嘿,我来帮你解决这个数据库连接状态检查的问题~

检查MySQLi数据库连接状态的几种方法

首先你要知道,mysqli_connect() 在连接数据库服务器失败时会返回 false,而你代码里的 mysqli_select_db() 也可能因为数据库不存在、权限不足等原因失败,所以我们需要兼顾这两个环节的检查,才能准确输出连接状态。

方法一:分步检查连接与数据库选择

这种方式适配你现有的代码结构,先确认服务器连接是否成功,再检查数据库是否能正常选中:

$con = mysqli_connect("localhost", "root", "");

// 先检查是否成功连接到MySQL服务器
if (!$con) {
    echo "Disconnected";
} else {
    // 再检查是否成功选中目标数据库
    if (mysqli_select_db($con, "online_ticket")) {
        echo "Connected";
    } else {
        echo "Disconnected";
    }
}

方法二:合并检查(更简洁高效)

其实mysqli_connect()支持直接在第四个参数里指定要连接的数据库,这样就能省去单独调用mysqli_select_db()的步骤,一次完成连接和选库:

// 直接在连接时指定数据库
$con = mysqli_connect("localhost", "root", "", "online_ticket");

if ($con) {
    echo "Connected";
} else {
    echo "Disconnected";
}

这种写法更简洁,也减少了一次函数调用,推荐使用~

调试小技巧:获取具体错误信息

如果连接失败了,想知道具体原因(比如密码错误、数据库不存在),可以用mysqli_connect_error()和mysqli_error()来获取错误详情,方便调试:

$con = mysqli_connect("localhost", "root", "");
if (!$con) {
    echo "Disconnected: " . mysqli_connect_error();
} else {
    if (!mysqli_select_db($con, "online_ticket")) {
        echo "Disconnected: " . mysqli_error($con);
    } else {
        echo "Connected";
    }
}

内容的提问来源于stack exchange,提问作者Anubis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:34:45