php连接sqlserver数据库(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()

PHP连接mysql遇到的坑(附解决方法,亲测有效)

1.1.1 去掉extension=php_mysql.dll前面的注释分号;

1.1.2 通过extension指定php_mysql.dll的绝对路径

1.2 配置文件路径

1.2.1 将php.ini文件拷贝至c:windowssystem32下

1.3 重启Apache服务(具体怎么重启就不说了,如果这个都不知道,那本文对你没帮助)



坑2 The server requested authentication method unknown to the client

PHP连接mysql遇到的坑(附解决方法,亲测有效)

在 mysql 8.x 以后,caching_sha2_password是默认的身份验证插件,而不是以往的mysql_native_password。

解决方法

1.1 修改mysql的my.ini配置文件

PHP连接mysql遇到的坑(附解决方法,亲测有效)

可以看到默认的验证方式是caching_sha2_password ,这里修改为mysql_native_password

1.2 mysql中查看对应用户身份验证插件

PHP连接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

PHP连接mysql遇到的坑(附解决方法,亲测有效)

修改mysql的my.ini配置文件,具体修改条目如下:(这里只展示了需要修改的条目,原配置文件内容很多)

[client]default-character-set=utf8[mysql]default-character-set=utf8[mysqld]collation-server = utf8_unicode_cicharacter-set-server = utf8


切记:任何每一次的修改,都需要重启Apache服务,以及mysql服务!!!

(0)
小多多的头像小多多创始人

相关推荐

发表回复

登录后才能评论