sql >> Database teknologi >  >> RDS >> Mysql

Fejl 2002 Connection nægtede, da PHP oprettede forbindelse til MySQL, der kører på MAMP

Problemet er, at du ikke sender porten som den femte parameter til mysqli-forbindelse. Hvis du bruger localhost som din vært, ignoreres portparameteren. Dette er grunden til i MAMP-uddraget, at de ikke sender $db_port som parameter er det simpelthen ikke nødvendigt. Grunden til dette sker, er at localhost bruger ikke TCP/IP, i stedet bruger den unix sockets.

Efter du har fulgt andres forslag, har du sandsynligvis ændret koden til det punkt, hvor du havde

$db_host = '127.0.0.1';

Dette er ok, men da du ikke længere bruger unix-sockets (localhost ), er portparameteren nødvendig for at etablere en forbindelse. Mysqli bruger 3306 port som standard, hvis du ikke angiver en anden som femte parameter. Så det er den port, du forsøger at oprette forbindelse til ved at bruge den kode. Det er her Error: Connection refused kommer fra.

For at løse problemet skal du blot sende porten som en femte parameter som denne:

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

Uddraget i sig selv er fantastisk, det passede bare ikke helt til dine behov, og du var nødt til at justere lidt på det. Hvis du vil bruge uddrag, skal du forstå, hvad de gør, og i dette tilfælde, hvordan mysqli virker. Sørg for at huske dette for fremtiden, da det helt sikkert vil undgå dig ubehagelige situationer og fejl som denne.



  1. Opret forbindelse til MySql-database gennem xamarin

  2. min transaktion rulles ikke tilbage, når noget går galt i C# med mysql?

  3. betinget unik begrænsning

  4. MySQL NET Connect 6.7.2 i Visual Studio 2012