php怎么連接sqlserver php 數據庫連接



文章插圖
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()
原因: 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: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服務!!!