文章插图
文章插图
环境: 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()原因: mysql_connect()函数未定义,php.ini配置文件中未开启解决方法:1.1 配置php.ini函数
1.1.1 去掉extension=php_mysql.dll前面的注释分号;1.2 配置文件路径
1.1.2 通过extension指定php_mysql.dll的绝对路径
1.2.1 将php.ini文件拷贝至c:windowssystem32下
1.3 重启Apache服务(具体怎么重启就不说了,如果这个都不知道,那本文对你没帮助)
坑2 The server requested authentication method unknown to the client
原因: mysql8.x的密码锁机制不一致导致的
【php怎么连接sqlserver php 数据库连接】在 mysql 8.x 以后,caching_sha2_password是默认的身份验证插件,而不是以往的mysql_native_password 。
解决方法1.1 修改mysql的my.ini配置文件
可以看到默认的验证方式是caching_sha2_password ,这里修改为mysql_native_password
1.2 mysql中查看对应用户身份验证插件
可以看到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原因: MySQL8更换了默认的服务器字符集,mysql8.x的字符集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服务!!!- 大总结 php常见设计模式和用途 php常用设计模式
- matlab快捷键大全 matlab怎么设置快捷方式
- hp1007怎么安装驱动 hpp1007打印机驱动下载
- word文档删除格式在哪里 怎么删除word里面的格式?
- 打印机打不了是什么问题 打印机打印不了是怎么回事?
- wps文档工具栏不见怎么弄回来 wpsword工具栏不见了
- js函数定义的三种方式区别 js函数怎么定义
- 家里有蟑螂怎么办能除根
- c语言与数据库连接 C语言如何连接数据库
- 中望cad文字样式怎么设置 2014cad文字样式怎么设置