mysql nuk lidhet me php. Si të krijoni një lidhje me bazën e të dhënave në PHP? Çfarë ju nevojitet për të lidhur PHP me MySQL

07.03.2024

3 metoda për t'u lidhur me MySQL me PHP me shembuj kodesh


Për të filluar përdorimin e bazës së të dhënave MySQL, së pari duhet të kuptoni se si të lidheni nga programi juaj i personalizuar PHP (skripti) me këtë bazë të dhënash MySQL.

Ky artikull përshkruan tre metodat e mëposhtme, së bashku me shembujt përkatës të kodit PHP që shpjegojnë se si të lidheni me bazën e të dhënave tuaja nga PHP.

Për të gjithë shembujt e mëposhtëm, ne do të lidhemi me një bazë të dhënash ekzistuese MySQL. Shënim: Gjithçka e shpjeguar këtu do të funksionojë edhe me MariaDB, ashtu si MySQL.

1. Lidhja me PHP duke përdorur shtesën mysqli
*mysqli do të thotë MySQL i përmirësuar

Krijoni skedarin e mëposhtëm mysqli.php

connect_error) ( die("Gabim: nuk mund të lidhet: " . $conn->connect_error); ) echo "U lidh me bazën e të dhënave.
"; $result = $conn->query("SELECT id FROM goroda"); jehonë "Numri i rreshtave: $result->num_rows"; $result->close(); $conn->close(); ?> Në kodin e mësipërm:

  • mysqli - Ky funksion fillon një lidhje të re duke përdorur shtesën mysqli. Funksioni merr katër argumente:
    1. localhost është emri i hostit në të cilin funksionon baza e të dhënave MySQL
    2. emri - Emri i përdoruesit MySQL për t'u lidhur
    3. kalim - fjalëkalim për përdoruesin mysql
    4. db - Baza e të dhënave MySQL për t'u lidhur.
  • qvery është një funksion i pyetjes MySQL. Në këtë shembull, ne zgjedhim kolonën id nga baza e të dhënave të qytetit.
  • Së fundi, ne tregojmë numrin e rreshtave të zgjedhur duke përdorur variablin num_rows në rezultat. Ne gjithashtu mbyllim si rezultatin ashtu edhe variablin e lidhjes siç tregohet më sipër.
Kur telefononi mysqli.php të mësipërm nga shfletuesi juaj, do të shihni daljen e mëposhtme që tregon se PHP ishte në gjendje të lidhej me bazën e të dhënave MySQL dhe të merrte të dhënat.

Lidhur me bazën e të dhënave. Numri i rreshtave: 6 2. Lidhja nga PHP MySQL PDO Extension
*PDO do të thotë PHP Data Objects

Drejtuesi PDO_MYSQL zbaton ndërfaqen PDO të ofruar nga PHP për t'u lidhur nga skripti juaj PHP me një bazë të dhënash MySQL.

Krijoni skedarin e mëposhtëm mysql-pdo.php:

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Lidhur me bazën e të dhënave.
"; $sql = "ZGJEDH ID-në NGA goroda"; printo "Lista e ID-së:
"; foreach ($conn->query($sql) si $row) ( print $row["id"] ."
"; ) $conn = null; ) catch(PDOException $err) (echo "Gabim: Nuk mund të lidhet: " . $err->getMessage(); ) ?> Në sa më sipër:

  • PDO e re - do të krijojë një objekt të ri PDO që do të marrë tre argumentet e mëposhtme:
    1. vargu i lidhjes mysql: do të jetë në formatin "mysql:host=localhost;dbname=db". Në shembullin e mësipërm db po funksionon në localhost dhe ne jemi duke u lidhur me bazën e të dhënave db.
    2. Emri i përdoruesit MySQL për t'u lidhur
    3. Fjalëkalimi i përdoruesit Mysql
  • Ndryshorja $sql - krijoni pyetjen sql që dëshironi të ekzekutoni. Në këtë shembull, ne zgjedhim kolonën id nga tabela e qyteteve.
  • pyetje ($sql). Këtu po ekzekutojmë pyetjen sql që sapo krijuam.
  • per secilin. Këtu kalojmë rezultatin nga komanda e mësipërme e pyetjes dhe e ruajmë atë në variablin $row dhe më pas e nxjerrim duke përdorur echo.
  • Në MySQL PDO, për të mbyllur një lidhje, thjesht vendosni ndryshoren $conn në null.
Kur thirrni skriptin e mësipërm mysqli.php nga shfletuesi juaj, do të shihni rreshtat e mëposhtëm; ata do të thotë se PHP ishte në gjendje të lidhej me bazën e të dhënave MySQL dhe të merrte informacionin:

Lidhur me bazën e të dhënave. ID-ja e listës: 1 2 3 4 5 6 3. Lidhja nga PHP duke përdorur funksione të vjetëruara mysql

Përdoreni këtë metodë vetëm nëse jeni duke përdorur një version më të vjetër të PHP dhe për ndonjë arsye nuk mund të përmirësoni në versionin e ri. Në vend të kësaj metode rekomandohet përdorimi i metodës #2 dhe metodës #3 të treguar më sipër. Unë e kam përfshirë këtë metodë vetëm për referencë dhe jo si rekomandim për përdorim.

Kjo shtesë e veçantë është zhvlerësuar që nga PHP 5.5. Por që nga PHP 7.0 kjo as që do të funksionojë pasi u hoq. Që nga PHP 5.5, kur përdorni këto funksione, ai do të gjenerojë një gabim E_DEPRECATED.

Krijoni një skedar mysql.php:

"; $result = mysql_query("SELECT id FROM goroda"); $row = mysql_fetch_row($result); echo "id 1: ", $row, "
\n"; mysql_close($conn); ?> Në sa më sipër:

  • Funksioni mysql_connect merr tre argumente:
    1. emri i hostit ku funksionon baza e të dhënave MySQL;
    2. Emri i përdoruesit MySQL për t'u lidhur;
    3. fjalëkalimi për përdoruesin mysql. Këtu ai lidhet me bazën e të dhënave MySQL e cila funksionon në serverin lokal duke përdorur emrin e përdoruesit dhe fjalëkalimin e tij.
  • funksioni mysql_select_db. Siç sugjeron emri, ai zgjedh bazën e të dhënave me të cilën dëshironi të lidheni. Ekuivalente me komandën "përdor". Në këtë shembull ne jemi duke u lidhur me një bazë të dhënash db.
  • Funksioni mysql_query - përdoret për të specifikuar pyetjen tuaj MySQL. Në këtë shembull, ne zgjedhim kolonën id nga baza e të dhënave të qytetit.
  • mysql_fetch_row. Përdoreni këtë funksion për të nxjerrë rreshta nga pyetësori SQL që sapo krijuam.
  • Më në fund, mbyllni lidhjen duke përdorur komandën mysql_close siç tregohet më sipër.
Kur telefononi mysql-legacy.php të mësipërm nga shfletuesi juaj, do të shihni daljen e mëposhtme, që tregon se PHP ishte në gjendje të lidhej me bazën e të dhënave MySQL dhe të merrte informacionin:

Lidhur me bazën e të dhënave. id 1: 1 Kështu mund të lidheni me MySQL. E përsëris, është më mirë të përdoren dy metodat e para; O

Për të përfituar sa më shumë nga databaza juaj MySQL, është e rëndësishme të kuptoni se si të lidheni nga një program i personalizuar PHP me një bazë të dhënash MySQL.

Ky tutorial përshkruan tre metodat e mëposhtme së bashku me një program shembullor përkatës PHP që do të shpjegojë se si të lidheni duke përdorur PHP me një bazë të dhënash.

  • Lidhu duke përdorur shtesën Mysqli (rekomandohet)
  • Lidhu duke përdorur PDO (rekomandohet)
  • Lidhja duke përdorur funksionet tradicionale të trashëgimisë mysql_ (të vjetëruara)

Për ta bërë këtë, duhet të instaloni paketën PHP-MySQL.

Bazuar në shpërndarjen e RedHat duke përfshirë , përdorni yum për të instaluar PHP-MySQL siç tregohet më poshtë.

Jum instaloni php-mysql

Në varësi të sistemit tuaj, ne do të instalojmë ose përditësojmë varësitë e mëposhtme të mësipërme:

  • php-cli
  • php-e zakonshme
  • php-pdo
  • php-pgsql

Pasi të jetë instaluar gjithçka, faqja phpinfo do të shfaqë modulin MySQL siç tregohet më poshtë:

Për të gjithë shembujt e mëposhtëm, ne do të lidhemi me një bazë të dhënash MySQL që tashmë ekziston. Nëse jeni i ri në MySQL, ky është një vend i mirë për të filluar: .

Shënim: Gjithçka e përshkruar këtu do të funksionojë edhe me MariaDB, ashtu siç funksionon me MySQL.

1. Lidhja në PHP duke përdorur shtesën Mysqli

MySQLi qëndron për MySQL Improved.

Ju lutemi vini re se në shumicën e shpërndarjeve (p.sh.: CentOS), PHP-MySQLi është tashmë pjesë e paketës PHP-MySQL. Në këtë mënyrë nuk keni nevojë të kërkoni dhe instaloni paketën PHP-MySQLi. E tëra çfarë ju duhet të bëni është të instaloni paketën PHP-MySQL për të marrë një shtesë Mysqli funksionale në sistemin tuaj.

Krijoni skedarin e mëposhtëm mysqli.php në DocumentRoot në Apache:

connect_error) ( die("Gabim: Nuk mund të lidhet: " . $conn->connect_error); ) echo "Po lidhet me bazën e të dhënave.
"; $result = $conn->query("SELECT emrin FROM punonjës"); jehonë "Numri i rreshtave: $result->num_rows"; $result->close(); $conn->close(); ?>

Në sa më sipër:

  • MySQLi – Ky funksion do të inicojë një lidhje të re duke përdorur shtesën Mysqli. Ky funksion do të marrë katër argumente:
    1. Emri i hostit ku funksionon baza e të dhënave MySQL
    2. Emri i përdoruesit për lidhjen MySQL
    3. Fjalëkalimi i përdoruesit Mysql
    4. Baza e të dhënave MySQL për t'u lidhur.
  • Funksioni i pyetjes – Përdoreni këtë për të specifikuar pyetjen tuaj MySQL. Në këtë shembull, ne zgjedhim kolonën e emrit nga baza e të dhënave të punonjësve.
  • Së fundi, ne shfaqim numrin e rreshtave të zgjedhur duke përdorur variablin num_rows. Ne gjithashtu mbyllim lidhjen siç tregohet më sipër.

Lidhu me bazën e të dhënave. Numri i rreshtave: 4

Shënim: Nëse po përpiqeni të lidheni me një bazë të dhënash të largët MySQL, atëherë mund ta bëni këtë për të shmangur gabimin e mohuar të lidhjes së hostit: Si të lejoni një klient MySQL të lidhet me një server të largët MySQL.

2. Lidhja duke përdorur PHP me MySQL me shtrirje PDO

PDO do të thotë PHP Data Objects.

PDO_MYSQL zbaton ndërfaqen PDO të ofruar nga PHP për lidhjen e një programi me një bazë të dhënash MySQL.

Në shumicën e shpërndarjeve Linux (si CentOS dhe RedHat), paketa PHP-PDO është përfshirë tashmë në paketën PHP-MySQL. Në këtë mënyrë nuk keni nevojë të kërkoni dhe instaloni paketën PHP-PDO. E tëra çfarë ju duhet të bëni është të instaloni paketën PHP-MySQL për të marrë një shtesë funksionale PDO_MYSQL PHP në sistemin tuaj.

Krijoni skedarin e mëposhtëm MySQL-pdo.php në Apache DocumentRoot:

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Po lidhet me bazën e të dhënave.
"; $sql = "ZGJIDHni emrin NGA punonjësi"; printoni "Emri i punonjësit:
"; foreach ($conn->query($sql) si $row) ( print $row["name"] . "
"; ) $conn = null; ) catch(PDOException $err) (echo "Gabim: Nuk mund të lidhet: " . $err->getMessage(); ) ?>

Në sa më sipër:

  • PDO e re – Do të krijojë një objekt të ri PDO që do të marrë tre argumentet e mëposhtme:
    1. Vargu i lidhjes MySQL: do të jetë në formatin “mysql:host=$hostname;dbname=$dbname”. Në shembullin e mësipërm, baza e të dhënave po funksionon në localhost dhe ne jemi duke u lidhur me bazën e të dhënave andreyex.
    2. Emri i përdoruesit për t'u lidhur me MySQL.
    3. Fjalëkalimi për përdoruesin mysql.
  • Ndryshorja $sql - Krijon pyetjen SQL që dëshironi të ekzekutoni. Në këtë shembull, ne zgjedhim kolonën e emrit nga tabela e punonjësve.
  • pyetje ($sql) – këtu ne ekzekutojmë pyetjen SQL që sapo krijuam.
  • foreach – Këtu kalojmë nëpër komandat e mësipërme dhe i ruajmë në variablin $string dhe më pas i shfaqim duke përdorur komandën print.
  • Në MySQL PDO, për të mbyllur një lidhje, thjesht rivendosni variablin $conn në zero.

Kur telefononi mysqli.php nga shfletuesi juaj, do të shihni daljen e mëposhtme, që tregon se PHP ishte në gjendje të lidhej me bazën e të dhënave MySQL dhe të merrte të dhënat.

Lidhu me bazën e të dhënave. Emri i punonjësit: siteslan Maria Oleg

3. Lidhja në PHP duke përdorur funksionet mysql_ (të vjetëruara)

Përdoreni këtë metodë vetëm nëse jeni duke përdorur një version më të vjetër të PHP dhe nuk mund të përditësoni në versionin e ri për ndonjë arsye.

Kjo është një shtesë e trashëguar PHP 5.5. Por duke filluar nga versioni PHP 7.0, kjo nuk do të funksionojë pasi u hoq.

Që nga PHP 5.5, kur përdorni këto funksione, ato do të gjenerojnë një gabim E_DEPRECATED.

Krijoni skedarin e mëposhtëm MySQL-legacy.php nën Apache DocumentRoot:

"; $result = mysql_query ("ZGJIDH emrin nga punonjësi"); $row = mysql_fetch_row($result); echo "Punonjësi 1: ", $row, "
\n"; mysql_close($conn); ?>

Në sa më sipër:

  • Funksioni mysql_connect merr tre argumente: 1) emrin e hostit ku funksionon baza e të dhënave MySQL, 2) emrin e përdoruesit për t'u lidhur me MySQL, 3) fjalëkalimin për përdoruesin MySQL. Këtu ne lidhemi me bazën e të dhënave MySQL, e cila funksionon në serverin lokal, duke përdorur emrin e përdoruesit rrënjë dhe fjalëkalimin e tij.
  • Funksioni mysql_select_db – Siç sugjeron emri, do të zgjedhë bazën e të dhënave me të cilën dëshironi të lidheni. Kjo është e barabartë me komandën "përdor". Në këtë shembull ne po lidhemi me bazën e të dhënave andreyex.
  • Funksioni mysql_query – Përdoreni këtë për të specifikuar pyetjen tuaj MySQL. Në këtë shembull, ne zgjedhim kolonën e emrit nga baza e të dhënave të punonjësve.
  • mysql_fetch_row - Përdorni këtë funksion për të marrë rreshta nga pyetësori SQL që sapo krijuam.
  • Më në fund mbyllni lidhjen duke përdorur komandën mysql_close siç tregohet më sipër.

Kur telefononi MySQL-legacy.php nga shfletuesi juaj, do të shihni daljen e mëposhtme, që tregon se PHP ishte në gjendje të lidhej me bazën e të dhënave MySQL dhe të merrte të dhënat.

Lidhu me bazën e të dhënave. Punonjësi 1: AndreyEx

Në këtë artikull sot do të flasim për krijimin e një lidhjeje me një bazë të dhënash dhe do të diskutojmë se cili opsion është më mirë të përdoret procedural ose i orientuar nga objekti. Së pari, le të shohim se në çfarë niveli jemi, nëse ky është niveli i një fillestari të plotë, atëherë këshilla ime, pa përjashtim, është të filloni të përdorni stilin procedural të lidhjes me bazën e të dhënave. Më parë, kam shkruar një artikull mbi këtë temë në blogun tim për më shumë informacion rreth stilit procedural të lidhjes me një bazë të dhënash, lexoni artikullin: "Si të lidheni me MySQL duke përdorur PHP". Nëse tashmë keni një përvojë duke punuar me një stil procedural të lidhjes me një bazë të dhënash, atëherë me siguri, si unë, sapo keni marrë projektet e mia dhe i keni detyruar ata të përdorin një qasje të orientuar nga objekti.

Në një mënyrë apo tjetër, tani do të shikojmë hapat e ndërtimit të një klase për krijimin e një lidhjeje me një bazë të dhënash MySQL në PHP. Do të na duhen dy skedarë PHP, në një skedar do të "fusim" klasën për krijimin e një lidhjeje me bazën e të dhënave, dhe në të dytën do të punojmë me këtë klasë.

Le të krijojmë dy skedarë:

  • index.php;
  • database.class.php;

Mendoj se nuk jemi më fëmijë të vegjël dhe e dimë se çfarë duhet të punojmë me skedarët PHP. Ueb serveri i instaluar është Apache, PHP, MySQL DBMS dhe e di se ku t'i vendosë këto skedarë - (për ata që nuk e dinë ose i kanë harruar).

Unë e vendos skedarin në të cilin është ruajtur klasa në një skedar të veçantë dhe e emërtoj në formatin: class name.class.php dhe e di se çfarë ruhet në këtë skedar. Kur ka shumë klasa në një projekt, ju mund të humbni, kështu që unë rekomandoj emërtimin e skedarëve me klasa në formatin e përshkruar më sipër.

Skedari Database.class.php:

Le të shohim tani se çfarë u krijua në këtë hap. Duke përdorur fjalën kyçe "class", emrin e klasës - DataBase dhe kllapat kaçurrelë, krijuam trupin e klasës. Në klasën e krijuar, ne krijuam dy veti, në $mConnect - ku ruhet rezultati i lidhjes me bazën e të dhënave dhe $mSelectDB - ku ruhet rezultati i zgjedhjes së një baze të dhënash. Ju mund të keni vënë re fjalët kyçe në çdo pronë - publike dhe statike. Për çfarë po flasin? Publike do të thotë që prona është e aksesueshme nga jashtë klasës, dhe statica bën të mundur aksesin ose thirrjen e pronës pa krijuar një shembull të klasës, gjë që shpesh është e përshtatshme në punë.

Le të shtojmë metodën Connect() për të krijuar një lidhje me bazën e të dhënave:

".mysql_error()."

"; exit(); return false;) // Ktheje rezultatin ktheje veten::$mConnect; ) ) ?>

  • $host - adresa IP e serverit, në një kompjuter lokal është localhost;
  • përdorues - emri i përdoruesit të bazës së të dhënave;
  • $pass - fjalëkalimi i përdoruesit të bazës së të dhënave;
  • $name - emri i bazës së të dhënave me të cilën lidhemi;

Funksioni mysql_connect() krijon një lidhje me bazën e të dhënave dhe ruan rezultatin e ekzekutimit në $mConnect. Më pas vjen një kontroll me konstruktin IF: Nëse lidhja nuk ishte e suksesshme, shfaq një mesazh gabimi... Përndryshe, PHP do të injorojë bllokun IF dhe do të vazhdojë të zgjedhë bazën e të dhënave. Funksioni mysql_select_db() zgjedh emrin e bazës së të dhënave, nëse databaza e kërkuar nuk ekziston në bazën e të dhënave, në këtë rast programi do ta informojë përdoruesin për një gabim. Nëse gjithçka është e suksesshme, lidhja e bazës së të dhënave do të kthehet.

Shto metodën Close():

Na vjen keq, nuk mundëm të lidheshim me serverin MySQL

"; exit(); return false; ) // Provoni të zgjidhni vetë një bazë të dhënash::$mSelectDB = mysql_select_db($name, self::$mConnect); // Nëse baza e të dhënave nuk është zgjedhur, shfaqni një mesazh gabimi.. if( !self::$mSelectDB) ( echo "

".mysql_error()."

"; exit(); return false; ) // Ktheni rezultatin kthimi vetë::$mConnect; ) // Metoda mbyll lidhjen me funksionin statik publik të bazës së të dhënave Close() ( // Kthen rezultatin kthimi mysql_close(self: :$mConnect) ) ) ?>

Metoda tjetër dhe e fundit në këtë klasë, Close(), mbyll lidhjen me bazën e të dhënave, funksioni mysql_close () mbyll lidhjen me serverin MySQL dhe kthen rezultatin.

Skedari Index.php:

Duke përdorur funksionin define(), krijuam konstante për të ruajtur parametrat e lidhjes së bazës së të dhënave. Require_once përfshin klasën tonë DataBase në skedarin index.php.

Le të kujtojmë fjalën kyçe statike që është përdorur në klasën DataBase në vetitë dhe metodat e kësaj klase. Kjo na jep mundësinë për të hyrë në vetitë dhe metodat e klasës duke përdorur "::" (dy dy pika). Metoda DataBase::Connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE) merr 4 parametra - konstante të krijuara nga funksioni define(), të cilat ruajnë informacione për lidhjen me bazën e të dhënave. Nëse lidhja është e suksesshme, metoda Connect() do të na kthejë një lidhje me bazën e të dhënave. Më pas, ne do të jemi në gjendje të punojmë dhe të ekzekutojmë pyetje në bazën e të dhënave. Funksioni mysql_query() - ekzekuton një pyetje në bazën e të dhënave. Funksioni mysql_fetch_assoc() përpunon një seri rezultatesh pyetjesh dhe kthen një grup shoqërues. Konstrukti echo shfaq versionin e serverit MySQL. Dhe së fundi, metoda DataBase::Close() do të mbyllë lidhjen me bazën e të dhënave.

Duke përdorur php...

Krijimi i një lidhjeje të bazës së të dhënave në PHP në mënyra të ndryshme:

1) mënyra e modës së vjetër për t'u lidhur me MySQL:

$conn=mysql_connect($db_hostname, $db_username, $db_password) ose die ("Nuk ka lidhje me serverin");
mysql_select_db($db_database,$conn) ose die ("Jo, nuk ishte e mundur të lidheshim me bazën e të dhënave");

Shpjegimet e variablave më poshtë.

Përdoren funksionet e mëposhtme:

  • mysql_connect ()- për t'u lidhur me serverin;
  • mysql_select_db()- për t'u lidhur me bazën e të dhënave;

Në të njëjtën kohë, ne vazhdimisht kontrollojmë për gabime në këtë mënyrë: ose vdesim ("Gabimi është i tillë dhe ai"); - përkthyer si ose vdis me një gabim të tillë - për të gjetur menjëherë se ku është gabimi.

config.php

// variabla për t'u lidhur me bazën e të dhënave
$host = "localhost"; /mikpritës
$username = "rrënjë"; // fjalëkalimi për t'u lidhur me bazën e të dhënave
$password = ""; // fjalëkalimi për t'u lidhur me bazën e të dhënave - në kompjuterin lokal mund të jetë bosh.
$database_name = "my-dolgi"; // emri i bazës së të dhënave

// mënyra e vjetër e lidhjes me bazën e të dhënave
mysql_connect($host, $username, $password) ose die("Nuk mund të lidhet, krijo lidhje");

// zgjidhni bazën e të dhënave. Nëse ka një gabim, jepni dalje
mysql_select_db ($database_name) ose die(mysql_error());

indeks.php

request_once "config.php";


$result = mysql_query ("ZGJIDHJE Emrin, Paratë NGA Dolg ORDER BY Money DESC LIMIT 5") ose die(mysql_error());



";


ndërsa ($rresht = mysql_fetch_assoc($rezultat)) (
";
}


mysql_free_rezultat($rezultat);

// Mbyll lidhjen
mysql_close();

2) Një stil procedural më progresiv - lidhja me bazën e të dhënave duke përdorur mysqli:

Kjo metodë:

  1. i përshtatshëm;
  2. deri në 40 herë më shpejt;
  3. siguria e rritur;
  4. ka veçori dhe funksione të reja;

Një shembull i lidhjes me një bazë të dhënash në PHP me një përzgjedhje nga një tabelë

config.php

// lidhjet me bazën e të dhënave
$link = mysqli_connect("localhost", "username", "password", "name-baza e të dhënave"); // këtu futim direkt të dhënat tuaja: emri i përdoruesit, fjalëkalimi dhe emri i bazës së të dhënave, fusha e parë zakonisht është localhost

// Gabim i lidhjes së daljes
nëse (!$link) (
echo "Gabim në lidhjen me bazën e të dhënave. Kodi i gabimit: " . mysqli_connect_error();
dalje;
}

Ju lutemi vini re - mysqli përdoret kudo, jo mysql!!!

indeks.php

request_once "config.php";

// Ekzekutoni kërkesën. Nëse ka një gabim, ne e shfaqim atë
nëse ($rezultat = mysqli_query($lidhje,"ZGJIDH Emrin, Paratë NGA Borxhi RENDOSJE SIPAS PARAVE DESC LIMIT 5")) (

Echo "Kujt i detyrohem në rend zbritës:

";

// Marrja e rezultateve të pyetjes
ndërsa ($rresht = mysqli_fetch_assoc($rezultat)) (
echo $row["Emri"] . "me borxh". $row["Paratë"] . " rubla.
";
}

// lirimi i memories së përdorur
mysqli_free_rezultat($rezultati);

// Mbyll lidhjen
mysqli_close($lidhje);
}

Siç mund ta shihni, disa pika kanë ndryshuar (me shkronja të pjerrëta).

3) Metoda e orientuar nga objekti për t'u lidhur me bazën e të dhënave MySQL - duke përdorur metoda dhe klasa:

Kundër: Më komplekse dhe më pak e ndjeshme ndaj gabimeve.

Pro: shkurtësi dhe komoditet për programuesit me përvojë.

$conn = mysqli i ri ($db_hostname, $db_username, $db_password, $db_baza e të dhënave);
if($conn->connect_errno)(
die($conn->connect_error);
) else (jehonë "Lidhja me bazën e të dhënave u krijua me sukses";)

këtu, në parim, gjithçka është intuitive:

  • $db_hostname është mikpritës(kryesisht host lokal),
  • $db_baza e të dhënave - emri db;
  • $db_username dhe $db_password - emri i përdoruesit dhe fjalëkalimi përkatësisht!

Një shembull i lidhjes me një bazë të dhënash në stilin php OOP me marrjen e mostrave nga një tabelë

config.php

// lidhjet me bazën e të dhënave
$mysqli = mysqli i ri ("localhost", "username", "password", "name-baza e të dhënave"); // këtu futim direkt të dhënat tuaja: emri i përdoruesit, fjalëkalimi dhe emri i bazës së të dhënave, fusha e parë zakonisht është localhost

// Gabim i lidhjes së daljes
nëse ($mysqli->connect_error) (
die ("Gabimi i lidhjes DB: (" . $mysqli->connect_errno . ") " . mysqli_connect_error) ;
}

Ju lutemi vini re - mysqli përdoret kudo, jo mysql!!! dhe ndryshe nga metoda e mëparshme, shfaqen shigjetat “->”, të cilat tregojnë se ky është një stil OOP.

indeks.php

request_once "config.php";

// Ekzekutoni kërkesën. Nëse ka një gabim, ne e shfaqim atë
nëse ($rezultati = $ mysqli->pyetje("ZGJIDH Emrin, Paratë NGA Borxhi ORDER SIPAS PARAVE DESC LIMIT 5")) (

Echo "Kujt i detyrohem në rend zbritës:

";

// Marrja e rezultateve të pyetjes
ndërsa ($rresht = $rezultat-> fetch_assoc()) {
echo $row["Emri"] . "me borxh". $row["Paratë"] . " rubla.
";
}

// lirimi i memories së përdorur
$rezultat-> mbyll ();

// Mbyll lidhjen
$mysqli->mbyll();
}

Detyra juaj është të gjeni dallimet.

4) Komunikimi me bazën e të dhënave duke përdorur PDO:

Gjatë lidhjes me një bazë të dhënash MySQL, përdoren shprehjet e përgatitura (duke përdorur metodën përgatitore) dhe si rezultat ka siguri më të madhe dhe rrit shumë performancën.

skedari i konfigurimit nga metoda e mëparshme! - njëjtë

indeks.php

// Stili PDO për komunikim me MySQL
if ($stmt = $mysqli->prepare("SELECT Emri, Voney FROM Dolg ORDER BY Money< ? LIMIT 5")) {

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

//fillimi i ekzekutimit
$stmt->ekzekutoni();

// Deklarimi i variablave për vlerat e përgatitura
$stmt->bind_rezult($col1, $col2);

Echo "Kujt i detyrohem në rend zbritës:

";

// Marrja e rezultateve të pyetjes
ndërsa ($stmt->fetch()) (
jehonë $col1 . "me borxh". $col2 . " rubla.
";
}

// lirimi i memories së përdorur
$stmt->close();

// Mbyll lidhjen
$mysqli->close();

Siç mund ta shihni, kjo është shumë më e ndërlikuar dhe ju duhet të studioni PDO - kjo është një temë më vete.