Penyelesaian kepada kegagalan untuk menyambung ke pangkalan data menggunakan php: 1. Buka fail konfigurasi php.ini, alih keluar koma bertitik komen di hadapan "extension=php_mysql.dll", dan nyatakan laluan mutlak " php_mysql.dll" melalui sambungan ; 2. Ubah suai fail konfigurasi my.ini mysql; 3. Ubah suai set aksara set data.
Persekitaran pengendalian tutorial ini: sistem Windows 10, PHP versi 8.1, komputer Dell G3.
Apakah yang perlu saya lakukan jika saya gagal menyambung ke pangkalan data menggunakan php?
Perangkap yang dihadapi oleh PHP apabila menyambung ke mysql (dengan penyelesaian, ujian peribadi berkesan)
Persekitaran: win10 PHP5.48 Apache2.2 Mysql8.017
Instance sambungan PHP
<?php $link = mysql_connect("localhost", "myuser", "mypasswd"); #myuser: 用户名 #mypasswd: 密码 var_dump($link); mysql_close();?>
Pit 1 Panggilan ke fungsi yang tidak ditentukan mysql_connect()
1.1.1 Alih keluar koma bertitik komen sebelum extension=php_mysql.dll;
1.1.2 Tentukan laluan mutlak php_mysql.dll melalui sambungan
1.2.1 Salin fail php.ini ke c:windowssystem32
Selepas mysql 8.x, caching_sha2_password adalah pemalam pengesahan lalai dan bukannya mysql_native_password sebelumnya.
Anda boleh melihat bahawa kaedah pengesahan lalai ialah caching_sha2_password, di sini ia diubah suai kepada mysql_native_password
Anda boleh melihat bahawa pemalam pengesahan pengguna root telah ditukar kepada mysql_native_password
Jika kaedah pengesahan telah tidak berubah, lakukan operasi berikut
# 登陆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
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视频教程》
Atas ialah kandungan terperinci Apa yang perlu dilakukan jika sambungan ke pangkalan data gagal menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!