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.