Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Błąd 2002 Połączenie odrzucone na PHP łączącym się z MySQL działającym na MAMP

Problem polega na tym, że nie przekazujesz portu jako piątego parametru do połączenia mysqli. Jeśli używasz localhost jako hosta parametr portu jest ignorowany. Dlatego we fragmencie MAMP nie przekazują $db_port jako parametr po prostu nie jest potrzebny. Powodem tego jest to, że localhost nie używa TCP/IP, zamiast tego używa gniazd unix.

Po zastosowaniu się do sugestii innych prawdopodobnie zmieniłeś kod do punktu, w którym miałeś

$db_host = '127.0.0.1';

To jest ok, ale ponieważ nie używasz już gniazd unixowych (localhost ), parametr port jest potrzebny do ustanowienia połączenia. Mysqli używa 3306 port jako domyślny, jeśli nie określisz żadnego innego jako piątego parametru. To jest port, z którym próbujesz się połączyć za pomocą tego kodu. Tutaj Error: Connection refused pochodzi z.

Aby rozwiązać ten problem, wystarczy przekazać port jako piąty parametr w następujący sposób:

$mysqli = new mysqli($db_host,$db_user,$db_password,$db_db,$db_port);

Sam snippet jest świetny, po prostu nie w pełni odpowiadał twoim potrzebom i musiałeś go trochę poprawić. Jeśli chcesz używać snippetów, musisz zrozumieć, co robią iw tym przypadku jak działa mysqli. Pamiętaj o tym na przyszłość, ponieważ z pewnością pozwoli to uniknąć nieprzyjemnych sytuacji i błędów, takich jak ten.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd mysql node.js:ECONNREFUSED

  2. Zapytaj rodziców i dzieci w tabeli samoodniesienia

  3. Wdrażanie aplikacji qt mysql

  4. mysql:uzyskaj liczbę rekordów między dwiema datami i godzinami

  5. Wybierz wiersze, aż zostanie osiągnięta łączna kwota w kolumnie (mysql)