导入数据库至phpMyAdmin后仍报Unknown database 'bsmn'错误求助
排查并解决MySQL数据库连接问题
核心问题分析
报错Unknown database 'bsmn'明确说明:MySQL服务器中不存在名为bsmn的数据库,即便你认为已经完成导入,实际导入过程可能未成功或存在名称匹配问题。
分步排查与解决
确认数据库是否真实存在
打开phpMyAdmin,查看左侧导航栏的数据库列表,确认是否有bsmn:- 如果没有,说明导入失败,重新执行导入操作:
- 检查要导入的SQL文件是否完整、无语法错误
- 导入时确保选择正确的目标数据库,或提前手动创建
bsmn数据库(phpMyAdmin中点击「新建」输入名称即可创建)
- 如果存在,检查名称是否完全匹配:留意是否有大小写差异(Linux环境下MySQL数据库名区分大小写,Windows下默认不区分,但仍需确认)、多余空格或拼写错误。
- 如果没有,说明导入失败,重新执行导入操作:
检查MySQL服务状态
打开XAMPP控制面板,确认MySQL服务处于「Running」状态。如果未启动,点击「Start」启动服务后再测试连接。验证连接参数与权限
- 若MySQL端口非默认的3306,需在
mysqli_connect中添加端口参数,修改代码为:if(!$con = mysqli_connect($dbhost,$dbuser,$dbpass,$dbname, 3306)) - 确认
root用户拥有bsmn数据库的访问权限(XAMPP默认root用户拥有全权限,此步骤仅作极端情况排查)。
- 若MySQL端口非默认的3306,需在
临时调试验证
修改connection.php为以下代码,先连接服务器再列出所有数据库,直观确认bsmn是否存在:<?php $dbhost = "localhost"; $dbuser = "root"; $dbpass = ""; $dbname = "bsmn"; // 先连接MySQL服务器,不指定数据库 $con = mysqli_connect($dbhost, $dbuser, $dbpass); if(!$con) { die("Failed to connect to server: " . mysqli_error($con)); } // 列出所有数据库 echo "Available databases:<br>"; $result = mysqli_query($con, "SHOW DATABASES"); while($row = mysqli_fetch_assoc($result)) { echo $row['Database'] . "<br>"; } // 尝试切换到目标数据库 if(!mysqli_select_db($con, $dbname)) { die("Failed to select database: " . mysqli_error($con)); } echo "Successfully connected to $dbname!"; ?>
内容的提问来源于stack exchange,提问作者dr_wayn
相关产品推荐
相关产品推荐

