Rumah > Artikel > pembangunan bahagian belakang > Amaran PHP: penyelesaian mysql_connect().
Apabila menggunakan fungsi mysql_connect() dalam PHP untuk menyambung ke pangkalan data MySQL, anda kadangkala akan menemui mesej amaran berikut: PHP Warning: mysql_connect(): Access denied for user 'root'@'localhost' (using password: YES) in ...
Keadaan ini secara amnya kerana MySQL tidak membenarkan sambungan ke pangkalan data dengan identiti tertentu Anda boleh mencuba kaedah berikut untuk menyelesaikan soalan masalah ini.
Semak dahulu sama ada nama pengguna dan kata laluan yang ditetapkan semasa menggunakan fungsi mysql_connect() adalah betul Jika ia salah, ia perlu dibetulkan.
Jika perkhidmatan MySQL tidak dimulakan, anda tidak boleh menyambung ke pangkalan data. Semak sama ada perkhidmatan MySQL berjalan menggunakan arahan berikut:
service mysqld status
Jika perkhidmatan MySQL tidak dimulakan maka mulakannya menggunakan arahan berikut:
service mysqld start
Jika pengguna MySQL tidak mencukupi kebenaran untuk menyambung ke pangkalan data tertentu, Mesej amaran ini akan muncul. Kebenaran pengguna boleh disemak menggunakan arahan berikut:
SHOW GRANTS FOR 'user'@'host';
di mana 'pengguna' ialah nama pengguna MySQL dan 'hos' ialah nama hos atau alamat IP yang disambungkan. Jika anda tidak mempunyai kebenaran yang mencukupi, anda boleh menggunakan arahan berikut untuk memberikan kebenaran yang sepadan:
GRANT ALL PRIVILEGES ON database.* TO 'user'@'host';
di mana pangkalan data ialah nama pangkalan data yang hendak disambungkan, 'pengguna' dan 'hos' ialah nama pengguna dan nama hos atau Alamat IP sambungan.
fungsi mysql_connect() sudah lapuk, disyorkan untuk menggunakan MySQLi atau PDO. Kedua-dua kaedah menyediakan pengendalian dan keselamatan ralat yang lebih baik. Sebagai contoh, kaedah menggunakan MySQLi untuk menyambung ke pangkalan data MySQL adalah seperti berikut:
$mysqli = new mysqli("localhost", "user", "password", "database");
di mana 'localhost' ialah nama hos atau alamat IP tempat MySQL terletak, 'pengguna' dan 'kata laluan' ialah nama pengguna dan kata laluan yang digunakan , dan 'pangkalan data' ialah pangkalan data yang akan disambungkan.
Apabila menggunakan MySQLi atau PDO, anda juga perlu memberi perhatian kepada isu seperti nama pengguna, kata laluan dan kebenaran untuk membantu mengelakkan mesej amaran seperti Amaran PHP: mysql_connect().
Secara amnya, penyelesaian kepada Amaran PHP: mysql_connect() mungkin melibatkan pelbagai aspek Ia memerlukan nama pengguna dan kata laluan pada langkah pertama, perkhidmatan MySQL dalam langkah kedua, kebenaran pengguna dalam langkah ketiga dan langkah ketiga. . Lihat alternatif yang lebih baik dalam empat langkah. Kaedah ini boleh membantu pengguna dan pembangun meningkatkan keselamatan dan kadar kejayaan sambungan ke pangkalan data MySQL.
Atas ialah kandungan terperinci Amaran PHP: penyelesaian mysql_connect().. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!