Masalahnya adalah Anda tidak melewatkan port sebagai parameter kelima ke koneksi mysqli. Jika Anda menggunakan localhost
sebagai Host Anda maka parameter port diabaikan. Inilah sebabnya mengapa dalam cuplikan MAMP, mereka tidak melewati $db_port
sebagai parameter, itu tidak diperlukan. Alasan ini terjadi, adalah karena localhost
tidak menggunakan TCP/IP, melainkan menggunakan soket unix.
Setelah Anda mengikuti saran orang lain, Anda mungkin telah mengubah kode ke titik di mana Anda telah
$db_host = '127.0.0.1';
Tidak apa-apa, tetapi karena Anda tidak lagi menggunakan soket unix (localhost
), parameter port diperlukan untuk membuat koneksi. MySQLi menggunakan 3306
port sebagai default jika Anda tidak menentukan yang lain sebagai parameter kelima. Jadi itu adalah port yang Anda coba sambungkan dengan menggunakan kode itu. Di sinilah Error: Connection refused
berasal dari.
Untuk mengatasi masalah ini, Anda hanya perlu melewati port sebagai parameter kelima seperti ini:
$mysqli = new mysqli($db_host,$db_user,$db_password,$db_db,$db_port);
Cuplikan itu sendiri sangat bagus, hanya saja tidak sepenuhnya sesuai dengan kebutuhan Anda dan Anda harus melakukan sedikit penyesuaian padanya. Jika Anda ingin menggunakan cuplikan, Anda harus memahami apa yang mereka lakukan dan dalam hal ini cara kerja mysqli. Pastikan untuk mengingat ini untuk masa depan karena pasti akan menghindari situasi dan kesalahan yang tidak menyenangkan seperti ini.