sql >> Database >  >> RDS >> Mysql

Hoe verbinding maken met de MySQL-database in PHP met behulp van de mysqli-extensie?

Om verbinding te maken met de MySQL-database met behulp van mysqli, moet u 3 regels code uitvoeren. U moet foutrapportage inschakelen, een instantie van mysqli-klasse maken en de juiste tekenset instellen.

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli('localhost', 'username', 'password', 'dbname', 3307);
$mysqli->set_charset('utf8mb4'); // always set the charset

De parameters in de mysqli-constructor zijn allemaal optioneel, maar meestal wil je er minstens 4 doorgeven. In de juiste volgorde zijn ze:

  1. MySQL-host. Meestal is het localhost , maar als u verbinding maakt met een externe host, is dit een ander IP-adres. Zorg ervoor dat deze niet de http . bevat protocolgedeelte. Het moet een IP-adres zijn of de URL zonder protocol.
  2. Gebruikersnaam. Dit is de gebruikersnaam van uw MySQL-gebruiker. Om verbinding te maken met de MySQL-server moet je een geldige gebruiker met de juiste privileges hebben.
  3. Wachtwoord.
  4. Databasenaam. Dit is de naam van de MySQL-database waarmee u verbinding wilt maken.
  5. Poort. Meestal is de standaardpoort de juiste, maar als u bijvoorbeeld wampserver met MariaDB gebruikt, wilt u deze misschien wijzigen in 3307.
  6. Socketnaam. Specificeert de socket of benoemde pijp die moet worden gebruikt.

Helaas is de tekenset niet een van deze parameters, dus u moet een speciale functie gebruiken om deze zeer belangrijke parameter in te stellen.

Pas op dat u de verbindingsfouten nooit handmatig weergeeft. Dit is volledig onnodig en het zal uw inloggegevens lekken.

Even terzijde:ik raad af om MySQLi in een nieuw project te gebruiken. Overweeg om BOB te gebruiken , wat over het algemeen een veel betere API is om verbinding te maken met MySQL.



  1. Vindt u berichten met tag1 EN tag2? (met behulp van een join-tabel) Bestaat / Heeft / subquery's... Wat te gebruiken?

  2. array_push() vs. $array[] =.... Wat is het snelst?

  3. Hoe SQLAlchemy-caching uit te schakelen?

  4. Hoe bekijk ik de volledige inhoud van een tekst- of varchar(MAX)-kolom in SQL Server 2008 Management Studio?