本教程操作环境:windows10系统、PHP8.1版、Dell G3电脑。用php连接数据库失败怎么办?php连接Mysql遇到的坑(附解决方法,亲测有效)PHP连接mysql遇到的坑环境: win10 + PHP5.48 + Apa
本教程操作环境:windows10系统、PHP8.1版、Dell G3电脑。
用php连接数据库失败怎么办?
环境: win10 + PHP5.48 + Apache2.2 + mysql8.017
PHP连接实例
<?php
$link = mysql_connect("localhost", "myuser", "mypasswd");
#myuser: 用户名 #mypasswd: 密码 var_dump($link);
mysql_close();?>
坑1 Call to undefinedfunction mysql_connect()
1.1.1 去掉extension=php_mysql.dll前面的注释分号;
1.1.2 通过extension指定php_mysql.dll的绝对路径
1.2.1 将php.ini文件拷贝至c:\windows\system32下
在 mysql 8.x 以后,caching_sha2_passWord是默认的身份验证插件,而不是以往的mysql_native_password。
可以看到默认的验证方式是caching_sha2_password ,这里修改为mysql_native_password
可以看到root用户的身份验证插件已经改为了mysql_native_password
如果身份验证方式没变,执行如下操作
# 登陆mysqlmysql -uroot -p# 使用mysql数据库use mysql;# 修改身份验证插件ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
坑3 字符集错误 sever sent charset unknowd to the client ,Please report to the decelopers
character-set-server
默认是utf8mb4
,不再是5.x时代的utf8了修改mysql的my.ini配置文件,具体修改条目如下:(这里只展示了需要修改的条目,原配置文件内容很多)
[client]default-character-set=utf8[mysql]default-character-set=utf8[mysqld]collation-server = utf8_unicode_cicharacter-set-server = utf8
切记:任何每一次的修改,都需要重启Apache服务,以及mysql服务!!!
--结束END--
本文标题: 用php连接数据库失败怎么办
本文链接: https://www.lsjlt.com/news/173134.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-21
2024-03-21
2024-03-21
2024-03-21
2024-03-21
2024-03-21
2024-03-21
2024-03-21
2024-03-21
2024-03-21
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0