Mysql
 sql >> база данни >  >> RDS >> Mysql

Грешка 2002 Връзката отказана при PHP свързване с MySQL, работещ на MAMP

Проблемът там е, че не предавате порта като пети параметър към mysqli връзката. Ако използвате localhost като ваш хост, тогава параметърът на порта се игнорира. Ето защо в фрагмента MAMP те не предават $db_port като параметър, той просто не е необходим. Причината да се случи това е, че localhost не използва TCP/IP, вместо това използва unix сокети.

След като сте последвали чуждото предложение, вероятно сте променили кода до точката, в която сте го направили

$db_host = '127.0.0.1';

Това е добре, но тъй като вече не използвате unix сокети (localhost ), параметърът на порта е необходим, за да се установи връзка. Mysqli използва 3306 порт по подразбиране, ако не посочите друг като пети параметър. Това е портът, към който се опитвате да се свържете, като използвате този код. Това е мястото, където Error: Connection refused идва от.

За да разрешите проблема, просто трябва да предадете порта като пети параметър по следния начин:

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

Самият фрагмент е страхотен, просто не отговаряше напълно на вашите нужди и трябваше да го промените малко. Ако искате да използвате фрагменти, трябва да разберете какво правят и в този случай как работи mysqli. Не забравяйте да запомните това за в бъдеще, тъй като със сигурност ще избегнете неприятни ситуации и грешки като тази.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Повторно използване на стойността на израза на SQL SELECT за друг израз

  2. ИЗБЕРЕТЕ * КЪДЕТО НЕ СЪЩЕСТВУВА

  3. показване на данни от база данни в html таблица

  4. Проблеми с RODBC sqlSave

  5. Не мога да намеря нито един съвпадащ ред в потребителската таблица