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

执行CREATE DATABASE后仍报mysqli_sql_exception: Unknown database 'test_db'错误

问题分析

你遇到的致命错误根源是代码逻辑顺序错误:你在调用mysqli_connect时直接指定了不存在的test_db数据库,这一步会立即触发数据库不存在的异常,导致后续创建数据库的代码完全没有执行的机会。

修复方案

正确的流程应该是:

  • 先连接到MySQL服务器(不指定目标数据库)
  • 执行创建数据库的SQL语句
  • 数据库创建成功后,再切换到该数据库(或重新连接时指定)
修正后的代码
<?php
$servername = "localhost";
$username   = "root";
$pwd = "";
$db = "test_db";

// 第一步:先连接MySQL服务器,不指定具体数据库
$conn = mysqli_connect($servername, $username, $pwd);
if (!$conn) {
    die('连接服务器失败: ' . mysqli_connect_error());
}

// 第二步:创建数据库
$sql = "CREATE DATABASE IF NOT EXISTS test_db";
if (mysqli_query($conn, $sql)) {
    echo "数据库创建成功<br>";
    // 第三步:切换到刚创建的数据库
    mysqli_select_db($conn, $db);
} else {
    echo "创建数据库失败: " . mysqli_error($conn);
}

// 后续可以在这里执行针对test_db的操作
?>
补充说明
  • CREATE DATABASE IF NOT EXISTS 语句会确保只有当数据库不存在时才创建,避免重复创建的错误
  • 连接服务器后切换数据库可以用mysqli_select_db,也可以销毁当前连接后,重新调用mysqli_connect并指定$db参数
  • 确保你的MySQL账号(这里是root)有创建数据库的权限,如果权限不足也会导致创建失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 18:50:31