You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

PHP项目突发MySQL连接异常:未知数据库‘cms’报错求助

解决MySQLi连接时"Unknown database 'cms'"的问题

嘿,这种之前正常突然报错的情况确实闹心,我来给你捋几个大概率能解决的排查方向:

  • 先确认数据库真的存在
    直接登录你的MySQL服务(用命令行、phpMyAdmin或者Navicat这类工具都行),执行SHOW DATABASES;命令,仔细看结果里有没有cms这个库。特别注意大小写——Windows系统下MySQL默认不区分数据库名大小写,但如果是Linux环境或者你手动改了lower_case_table_names配置,大小写不匹配就会报这个错。

  • 检查连接代码的拼写细节
    别忽略最基础的拼写错误!打开你的header.php文件,找到mysqli连接的代码,比如类似这样的:

    $db = new mysqli('localhost', 'your_username', 'your_password', 'cms');
    

    仔细核对第四个参数(数据库名)是不是完全正确,有没有多打空格、少写字母,比如会不会写成了cm或者cms (末尾有空格)。

  • 排查数据库用户权限
    虽然之前能正常连接,但说不定用户权限被误改了。用你项目里的数据库账号登录MySQL,执行SHOW GRANTS FOR 'your_username'@'localhost';(把your_username换成实际账号),看看结果里有没有类似GRANT ALL PRIVILEGES ON cms.* TO 'your_username'@'localhost';的权限条目,如果没有,那就是用户被收回了访问cms库的权限,重新给权限就行。

  • 检查MySQL服务和数据目录
    最近有没有重启过MySQL服务?或者服务器/本地环境有没有更新?可以去MySQL的数据存储目录(一般是安装目录下的data文件夹)看看,有没有cms对应的子文件夹,里面有没有.frm.ibd这类数据库文件。如果文件夹没了,那大概率是数据库被误删除了,得找备份恢复。

  • 排查项目环境变动
    你的项目路径里有空格和特殊字符(比如INFX2670 - Serverside Scripting),虽然一般不影响,但如果最近移动过项目文件夹、更新了本地的PHP环境(比如XAMPP/WAMP),可能导致mysqli的配置或者环境变量出问题,试试把项目移到一个路径简单的文件夹(比如C:\Projects\A5)再测试。

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

火山引擎 最新活动