PHP连接实例

<?php $link = mysql_connect("localhost", "myuser", "mypasswd"); #myuser: 用户名 #mypasswd: 密码 var_dump($link); mysql_close();?>坑1 Call to undefinedfunction mysql_connect()

phpmysqldllPHP衔接mysql碰到的坑附解决办法亲测有用 Bootstrap

缘故原由: mysql_connect()函数未定义,php.ini配置文件中未开启办理方法:1.1 配置php.ini函数

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

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

1.2 配置文件路径

1.2.1 将php.ini文件拷贝至c:\windows\system32下

1.3 重启Apache做事(详细怎么重启就不说了,如果这个都不知道,那本文对你没帮助)坑2 The server requested authentication method unknown to the client

缘故原由: mysql8.x的密码锁机制不一致导致的

在 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做事!!!