Crearea unei conexiuni la baza de date MySQL în diferite moduri, php

Aproape nici un site nu funcționează astăzi fără o conexiune la baza de date (DB). astfel încât să ne uităm și la modul de conectare la MySQL folosind php.

Crearea unei conexiuni la o bază de date pe PHP în mai multe moduri:

1) Mod vechi de modă veche de conectare la MySQL:

$ Conn = mysql_connect ($ db_hostname, $ db_username, $ DB_PASSWORD) sau die ( "Nu se poate conecta la server");
mysql_select_db ($ db_database, $ conn) sau mor ("Nu se poate conecta la baza de date");

- explicații la variabilele de mai jos.

Sunt utilizate următoarele funcții:

  • mysql_connect () - pentru a vă conecta la server;
  • mysql_select_db () - pentru a vă conecta la baza de date;

În același timp, verificăm constant o eroare în acest fel: sau mor ("Eroare de genul asta"); - este tradus ca sau mor cu o astfel de și o astfel de greșeală - pentru a găsi imediat unde este eroarea.

Exemplu de conectare la o bază de date pe php cu un eșantion din tabel

// variabile pentru conectarea la baza de date
$ gazdă = 'localhost'; / gazdă
$ username = 'root'; // parola pentru a vă conecta la baza de date
$ password = ''; // parola pentru a vă conecta la baza de date - poate avea o valoare liberă pe computerul local.
$ name_name = 'meu-dolgi'; // numele bazei de date

// mod vechi de conectare la baza de date
mysql_connect ($ host, $ username, $ password) sau mor ("Nu se poate conecta pentru a crea o conexiune");

// selectați baza de date. Dacă eroarea este
mysql_select_db ($ database_name) sau mor (mysql_error ());

// Rulați interogarea. Dacă eroarea este
$ result = mysql_query ('SELECT nume, bani din Dolg ORDER BY BONE DESC LIMIT 5') sau mor (mysql_error ());

ecou "Cui ar trebui să cobor:

„;

// Selectarea rezultatelor interogării
în timp ce ($ row = mysql_fetch_assoc ($ rezultat)) echo $ row ['Nume]. "cu o datorie". $ row ['Money']. „ruble.
„;
>

// eliberarea memoriei utilizate
mysql_free_result ($ rezultat);

// Închideți conexiunea
mysql_close ();

2) Stil mai procedural progresiv - conectare la baza de date folosind mysqli:

  1. mai convenabil;
  2. mai rapid de până la 40 de ori;
  3. securitate sporită;
  4. există noi caracteristici și funcții;

Exemplu de conectare la o bază de date pe php cu un eșantion din tabel


// Conectați-vă la baza de date
$ link = mysqli_connect ('localhost', 'username', 'parola', 'nume-bază de date'); // aici introduceți datele dvs. direct: numele de utilizator, parola și numele bazei de date, primul câmp este de obicei localhost

// eroare de conectare la ieșire
dacă (! $ link) echo "Eroare la conectarea la baza de date." Cod de eroare: ". mysqli_connect_error ();
ieșire;
>

Rețineți că mysqli este folosit peste tot. nu mysql.

// Rulați interogarea. Dacă eroarea este
dacă ($ rezultat = mysqli_query ($ link, 'SELECT nume, bani din Dolg ORDER BY BONE DESC LIMIT 5'))

ecou "Cui ar trebui să cobor:

„;

// Selectarea rezultatelor interogării
în timp ce ($ row = mysqli_fetch_assoc ($ rezultat)) echo $ row ['Nume']. "cu o datorie". $ row ['Money']. „ruble.
„;
>

// eliberarea memoriei utilizate
mysqli_free_result ($ rezultat);

După cum puteți vedea, unele puncte s-au schimbat (cu caractere italice).

3) Metodă orientată pe obiect de conectare la baza de date MySQL - folosind metode și clase:

Contra: mai dificil și mai puțin susceptibil la erori.

Pro: scurte și convenabile pentru programatori cu experiență.

$ conn = un nou mysqli ($ db_hostname, $ db_username, $ db_password, $ db_database);
dacă ($ conn-> connect_errno) mor ($ conn-> connect_error);
> altceva

aici, în principiu, totul este clar clar:

  • $ db_hostname este gazda (cea mai mare parte localhost),
  • $ db_database este numele bazei de date;
  • $ db_username și $ db_password - nume de utilizator și parolă, respectiv!

Un exemplu de conexiune la o bază de date cu un stil OOP php cu o mostră din tabel


// Conectați-vă la baza de date
$ mysqli = mysqli noi ('localhost', 'username', 'password', 'name-database'); // aici introduceți datele dvs. direct: numele de utilizator, parola și numele bazei de date, primul câmp este de obicei localhost

// eroare de conectare la ieșire
dacă ($ mysqli-> connect_error) mor ('Eroare la conectarea la baza de date: ('. $ mysqli-> connect_errno. ')' mysqli_connect_error);
>

Rețineți că mysqli este folosit peste tot. nu mysql. și spre deosebire de metoda anterioară, există săgeți "->", care arată că acesta este stilul OOP.

// Rulați interogarea. Dacă eroarea este
dacă ($ rezultat = $ mysqli-> interogare ('SELECT Name, Money FROM Dolg ORDER BY BONE DESC LIMIT 5'))

ecou "Cui ar trebui să cobor:

„;

// Selectarea rezultatelor interogării
în timp ce ($ row = $ result-> fetch_assoc ()) echo $ row ['Nume]. "cu o datorie". $ row ['Money']. „ruble.
„;
>

// eliberarea memoriei utilizate
$ result-> close ();

Sarcina pentru tine este să găsești diferențe.

4) Comunicarea cu baza de date folosind DOP:

Când se conectează la baza de date MySQL, se folosesc expresii pregătite (prin metoda de pregătire) și, ca rezultat, se asigură o mai mare securitate și crește foarte mult viteza.

config din metoda precedentă! - la fel

// Stilul PDO pentru comunicarea cu MySQL
dacă ($ stmt = $ mysqli-> prepare ("SELECT Nume, Voney FROM Dolg ORDER BY Money" <. LIMIT 5"))

$ stmt-> bind_param ("i", $ suma);
$ summa = 100000;

// executați executarea
$ stmt-> execuție ();

ecou "Cui ar trebui să cobor:

„;

// Selectarea rezultatelor interogării
în timp ce ($ stmt-> fetch ()) echo $ col1. "cu o datorie". $ col2. „ruble.
„;
>

// eliberarea memoriei utilizate
$ stmt-> close ();

// Închideți conexiunea
$ mysqli-> close ();

După cum puteți vedea, aici este mult mai dificil și este necesar să studiem DOP - acesta este un subiect separat.

Articole similare