首頁  >  文章  >  後端開發  >  用php連接資料庫失敗怎麼辦

用php連接資料庫失敗怎麼辦

藏色散人
藏色散人原創
2022-11-19 10:25:535025瀏覽

用php連接資料庫失敗的解決方法:1、開啟php.ini設定文件,去掉「extension=php_mysql.dll」前面的註解分號,並透過extension指定「php_mysql.dll」的絕對路徑;2、修改mysql的my.ini設定檔;3、修改資料集字元集即可。

用php連接資料庫失敗怎麼辦

本教學操作環境:Windows10系統、PHP8.1版、Dell G3電腦。

用php連接資料庫失敗怎麼辦?

PHP連接mysql遇到的坑(附解決方法,親測有效)

PHP連接mysql遇到的坑

環境: win10    PHP5.48 Apache2.2 Mysql8.017

PHP連線實例

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

用php連接資料庫失敗怎麼辦

#原因: mysql_connect()函數未定義,php.ini設定檔中未開啟

#解決方法:

用php連接資料庫失敗怎麼辦

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服務(具體怎麼重啟就不說了,如果這個都不知道,那本文對你沒幫助)

用php連接資料庫失敗怎麼辦

原因:mysql8.x的密碼鎖定機制不一致導致的

#在mysql 8.x 以後,caching_sha2_password是預設的驗證插件,而不是以往的 mysql_native_password 。

解決方法

用php連接資料庫失敗怎麼辦

##可以看到預設的驗證方式是caching_sha2_password ,這裡修改為mysql_native_password

1.2 mysql中查看對應使用者驗證外掛程式 用php連接資料庫失敗怎麼辦

#可以看到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連接資料庫失敗怎麼辦

原因: 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連接資料庫失敗怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn