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

创建表报错:未选择数据库,修改db_database后问题仍存在求助

解决创建表时「未选择数据库」的问题

嘿,我一眼就揪出问题所在了——你把mysqli构造函数的参数顺序搞混啦!这才是导致“未选择数据库”报错的根本原因,和你修改db_database参数没关系哦。

核心问题:参数顺序完全错误

mysqli类的构造函数正确参数顺序是:
new mysqli(主机名, 用户名, 密码, 数据库名)

而你的代码里把「数据库名」放在了第二个位置,还把「用户名」和「密码」的顺序也搞反了!这就导致PHP根本没正确连接到指定的数据库,自然会抛出“未选择数据库”的错误。

修正后的完整代码

$db_hostname = 'localhost';
$db_database = 'web_sample';
$db_username = ''; // 这里要填你的数据库用户名,比如默认的root
$db_password = ''; // 对应填你的数据库密码,本地测试可能为空

// 修正参数顺序:主机名 → 用户名 → 密码 → 数据库名
$connection = new mysqli($db_hostname, $db_username, $db_password, $db_database);

if ($connection->connect_error) die($connection->connect_error);

// 补全你的表结构(示例)
$query = "CREATE TABLE users( 
    forename VARCHAR(20) NOT NULL, 
    surname VARCHAR(20) NOT NULL, 
    username VARCHAR(20) NOT NULL,
    PRIMARY KEY (username)
)";

// 执行创建表操作并捕获错误
if (!$connection->query($query)) {
    die("创建表失败: " . $connection->error);
}

// 记得关闭数据库连接
$connection->close();

额外排查小贴士

  • 先确认web_sample这个数据库已经在MySQL服务器上存在,如果没有的话,需要先执行CREATE DATABASE web_sample;来创建它
  • 数据库用户名和密码要填对,本地测试环境默认用户名通常是root,密码根据你的MySQL设置填写(可能为空)
  • 确保你的MySQL服务正在正常运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:46:50