Sākums / Spēļu konsoles / Savienojuma izveide ar mysql php 5. Savienojuma izveide ar MySQL datu bāzi. Progresīvāks procesuālais stils - savienošanās ar datu bāzi, izmantojot mysqli

Savienojuma izveide ar mysql php 5. Savienojuma izveide ar MySQL datu bāzi. Progresīvāks procesuālais stils - savienošanās ar datu bāzi, izmantojot mysqli

Izmantojot php...

Savienojuma izveide ar datu bāzi PHP dažādos veidos:

1) vecmodīgs veids, kā izveidot savienojumu ar MySQL:

$conn=mysql_connect($db_hostname, $db_username, $db_password) vai die ("Nav savienojuma ar serveri");
mysql_select_db($db_database,$conn) vai die ("Nē, nebija iespējams izveidot savienojumu ar datu bāzi");

Tālāk norādīto mainīgo lielumu skaidrojumi.

Tiek izmantotas šādas funkcijas:

  • mysql_connect()- izveidot savienojumu ar serveri;
  • mysql_select_db()- pieslēgties datu bāzei;

Tajā pašā laikā mēs pastāvīgi pārbaudām kļūdas šādā veidā: vai nomirst (“Kļūda ir tāda un tāda”); - tulkots vai mirt ar tādu un tādu kļūdu - lai uzreiz atrastu, kur ir kļūda.

config.php

// mainīgie, lai izveidotu savienojumu ar datu bāzi
$host = "localhost"; /host
$lietotājvārds = "sakne"; // parole savienojumam ar datu bāzi
$parole = ""; // parole savienojumam ar datu bāzi - ieslēgts lokālais dators tai var būt tukša vērtība.
$datubāzes_nosaukums = "mans-dolgi"; // datu bāzes nosaukums

// vecais veids, kā izveidot savienojumu ar datu bāzi
mysql_connect($host, $lietotājvārds, $parole) or die("Nevar izveidot savienojumu");

// atlasiet datu bāzi. Ja ir kļūda, izvadiet
mysql_select_db($datubāzes_nosaukums) vai die(mysql_error());

indekss.php

request_once "config.php";


$result = mysql_query("SELECT Name, Money FROM Dolg ORDER BY Money DESC LIMIT 5") vai die(mysql_error());



";


while ($row = mysql_fetch_assoc($result)) (
";
}


mysql_free_result($rezultāts);

// Aizveriet savienojumu
mysql_close();

2) Progresīvāks procesuālais stils - savienojuma izveide ar datu bāzi, izmantojot mysqli:

Šī metode:

  1. ērtāk;
  2. līdz 40 reizēm ātrāk;
  3. paaugstināta drošība;
  4. ir jaunas iespējas un funkcijas;

Piemērs savienojumam ar datu bāzi PHP ar atlasi no tabulas

config.php

// savienojumi ar datu bāzi
$ saite = mysqli_connect("localhost", "lietotājvārds", "parole", "nosaukuma datu bāze"); // šeit mēs tieši ievadām jūsu datus: lietotājvārdu, paroli un datu bāzes nosaukumu, pirmais lauks parasti ir localhost

// izejas savienojuma kļūda
if (!$link) (
echo "Kļūda pieslēdzoties datu bāzei. Kļūdas kods: " . mysqli_connect_error();
izeja;
}

Lūdzu, ņemiet vērā - visur tiek izmantots mysqli, nevis mysql!!!

indekss.php

request_once "config.php";

// Izpildi pieprasījumu. Ja ir kļūda, mēs to parādām
if ($rezultāts = mysqli_query($saite,"IZVĒLĒTIES VĀRDS, NAUDA NO Parāda PASŪTĪJUMS PĒC Money DESC LIMIT 5") (

Atbalss "Kam es esmu parādā dilstošā secībā:

";

// Notiek vaicājuma rezultātu iegūšana
while ($rinda = mysqli_fetch_assoc($rezultāts)) (
echo $row["Vārds"] . "ar parādu". $row["Nauda"] . "rubļi.
";
}

// izmantotās atmiņas atbrīvošana
mysqli_free_result($rezultāts);

// Aizveriet savienojumu
mysqli_close($saite);
}

Kā redzat, daži punkti ir mainījušies (slīprakstā).

3) Objektorientēta metode savienojuma izveidei ar MySQL datu bāzi - izmantojot metodes un klases:

Mīnusi: sarežģītāks un mazāk pakļauts kļūdām.

Plusi: īsums un ērtības pieredzējušiem programmētājiem.

$conn = jauns mysqli($db_resursdatora nosaukums, $db_lietotājvārds, $db_parole, $db_datubāze);
if($conn->connect_errno)(
mirst($savien.->connect_error);
) else (atbalss "Savienojums ar datu bāzi tika veiksmīgi izveidots";)

šeit principā viss ir intuitīvi:

  • $db_hostname ir saimnieks(galvenokārt vietējais saimnieks),
  • $db_database — db nosaukums;
  • $db_username un $db_password - lietotājvārds un parole attiecīgi!

Piemērs savienojumam ar datubāzi php OOP stilā ar paraugu ņemšanu no tabulas

config.php

// savienojumi ar datu bāzi
$mysqli = jauns mysqli("localhost", "lietotājvārds", "parole", "nosaukuma datu bāze"); // šeit mēs tieši ievadām jūsu datus: lietotājvārdu, paroli un datu bāzes nosaukumu, pirmais lauks parasti ir localhost

// izejas savienojuma kļūda
if ($mysqli->connect_error) (
die ("DB savienojuma kļūda: (" . $mysqli->connect_errno . ") " . mysqli_connect_error) ;
}

Lūdzu, ņemiet vērā - visur tiek izmantots mysqli, nevis mysql!!! un atšķirībā no iepriekšējās metodes parādās bultiņas “->”, kas norāda, ka šis ir OOP stils.

indekss.php

request_once "config.php";

// Izpildi pieprasījumu. Ja ir kļūda, mēs to parādām
if ($rezultāts = $ mysqli-> vaicājums("Atlasiet vārdu, naudu no parāda PASŪTĪJUMU PĒC Money DESC LIMIT 5") (

Atbalss "Kam es esmu parādā dilstošā secībā:

";

// Notiek vaicājuma rezultātu iegūšana
while ($rinda = $rezultāts-> fetch_assoc()) {
echo $row["Vārds"] . "ar parādu". $row["Nauda"] . "rubļi.
";
}

// izmantotās atmiņas atbrīvošana
$rezultāts->aizvērt ();

// Aizveriet savienojumu
$mysqli-> aizvērt();
}

Tavs uzdevums ir atrast atšķirības.

4) Saziņa ar datubāzi, izmantojot ACVN:

Pieslēdzoties MySQL datu bāzei, tiek izmantotas sagatavotas izteiksmes (izmantojot sagatavošanas metodi) un rezultātā lielāka drošība un ievērojami palielinās veiktspēja.

konfigurācijas fails no iepriekšējās metodes! - tas pats

indekss.php

// ACVN stils saziņai ar MySQL
if ($stmt = $mysqli->prepare("SELECT Name, Voney FROM Dolg ORDER BY Money< ? LIMIT 5")) {

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

//sākt izpildi
$stmt->izpildīt();

// Mainīgo deklarēšana sagatavotajām vērtībām
$stmt->bind_result($col1, $col2);

Atbalss "Kam es esmu parādā dilstošā secībā:

";

// Notiek vaicājuma rezultātu iegūšana
while ($stmt->fetch()) (
atbalss $col1 . "ar parādu". $col2 . "rubļi.
";
}

// izmantotās atmiņas atbrīvošana
$stmt->close();

// Aizveriet savienojumu
$mysqli->aizvērt ();

Kā redzat, tas ir daudz sarežģītāk, un jums ir jāizpēta ACVN - tā ir atsevišķa tēma.

Šajā šodienas rakstā mēs runāsim par savienojuma izveidi ar datu bāzi un apspriedīsim, kuru opciju labāk izmantot procesuālo vai objektu orientēto. Pirmkārt, paskatīsimies, kādā līmenī mēs atrodamies, ja tas ir pilnīga iesācēja līmenis, tad mans padoms bez izņēmuma ir sākt izmantot procesuālo stilu savienošanai ar datu bāzi. Iepriekš savā emuārā rakstīju rakstu par šo tēmu, lai iegūtu plašāku informāciju par savienojuma ar datubāzi procesuālo stilu, lasiet rakstā: “Kā izveidot savienojumu ar MySQL, izmantojot PHP”. Ja jums jau ir zināma pieredze darbā ar procesuālo stilu, lai izveidotu savienojumu ar datu bāzi, tad jūs, iespējams, tāpat kā es, vienkārši paņēmāt manus projektus un piespiedāt tos izmantot objektorientētu pieeju.

Vienā vai otrā veidā mēs tagad apskatīsim klases konstruēšanas darbības, lai izveidotu savienojumu ar MySQL datu bāzi PHP valoda. Mums būs nepieciešami divi PHP faili, vienā failā “ieliksim” klasi savienojuma izveidei ar datu bāzi, bet otrajā strādāsim ar šo klasi.

Izveidosim divus failus:

  • indekss.php;
  • datubāze.klase.php;

Es domāju, ka mēs vairs neesam mazi bērni un zinām, kas mums nepieciešams, lai strādātu ar PHP failiem. Uzstādītais tīmekļa serveris ir Apache, PHP, MySQL DBVS un zina, kur šos failus ievietot - (tiem, kas nezina vai ir aizmirsuši).

Failu, kurā glabājas klase, ievietoju atsevišķā failā un nosaucu to formātā: klases nosaukums.klase.php un zinu, kas šajā failā ir glabāts. Ja projektā ir daudz nodarbību, jūs varat pazust, tāpēc iesaku nosaukt failus ar klasēm iepriekš aprakstītajā formātā.

Database.class.php fails:

Tagad apskatīsim, kas tika izveidots šajā posmā. Izmantojot atslēgvārdu "klase", klases nosaukumu - DataBase un cirtaini breketes, izveidojām klases pamattekstu. Izveidotajā klasē izveidojām divus rekvizītus, $mConnect - kur tiek glabāts pieslēgšanās rezultāts datu bāzei un $mSelectDB - kur tiek glabāts datu bāzes atlases rezultāts. Iespējams, katrā īpašumā esat ievērojuši atslēgvārdus – publisko un statisko. Par ko viņi runā? Publisks nozīmē, ka īpašums ir pieejams ārpus klases, un statiskais ļauj piekļūt īpašumam vai izsaukt to, neveidojot klases gadījumu, kas ļoti bieži ir ērti darbā.

Pievienosim Connect() metodi, lai izveidotu savienojumu ar datu bāzi:

".mysql_error()."

"; exit(); return false; ) // Atgriezt rezultātu return self::$mConnect; ) ) ?>

  • $host - servera IP adrese, lokālajā datorā tā ir localhost;
  • lietotājs - datu bāzes lietotājvārds;
  • $pass - datu bāzes lietotāja parole;
  • $nosaukums - datu bāzes nosaukums, ar kuru mēs pieslēdzamies;

Funkcija mysql_connect() izveido savienojumu ar datu bāzi un izpildes rezultātu saglabā mapē $mConnect. Tālāk seko pārbaude ar IF konstrukciju: Ja savienojums nebija veiksmīgs, parādiet kļūdas ziņojumu... Pretējā gadījumā PHP ignorēs IF bloku un pāries uz datu bāzes atlasi. Funkcija mysql_select_db() atlasa datu bāzes nosaukumu, ja pieprasītā datubāze datu bāzē neeksistē, šajā gadījumā programma informēs lietotāju par kļūdu. Ja viss ir veiksmīgi, datu bāzes savienojums atgriezīsies.

Pievienojiet metodi Close ()

Atvainojiet, mēs nevarējām izveidot savienojumu ar MySQL serveri

"; exit(); return false; ) // Mēģiniet atlasīt datubāzi self::$mSelectDB = mysql_select_db($name, self::$mConnect); // Ja datu bāze nav atlasīta, parādiet kļūdas ziņojumu. if( !self::$mSelectDB) ( echo "

".mysql_error()."

"; exit(); return false; ) // Atgriezt rezultātu return self::$mConnect; ) // Metode aizver savienojumu ar datubāzi publisko statisko funkciju Close() ( // Atgriež rezultātu return mysql_close(self: :$mConnect) ; ) ) ?>

Nākamā un pēdējā šīs klases metode Close() aizver savienojumu ar datu bāzi, funkcija mysql_close() aizver savienojumu ar MySQL serveri un atgriež rezultātu.

Index.php fails:

Izmantojot funkciju define(), mēs izveidojām konstantes datu bāzes savienojuma parametru glabāšanai. Require_once iekļauj mūsu DataBase klasi failā index.php.

Atcerēsimies statisko atslēgvārdu, kas tika izmantots DataBase klasē šīs klases rekvizītos un metodēs. Tas dod mums iespēju piekļūt klases rekvizītiem un metodēm, izmantojot "::" (divus kolus). Metode DataBase::Connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE) ņem 4 parametrus - funkcijas define() izveidotās konstantes, kas glabā informāciju par savienojumu ar datu bāzi. Ja savienojums ir veiksmīgs, Connect() metode atgriezīs mums datu bāzes savienojumu. Tālāk mēs varēsim strādāt un izpildīt vaicājumus datu bāzei. mysql_query() funkcija - izpilda datubāzes vaicājumu. Funkcija mysql_fetch_assoc() apstrādā vaicājuma rezultātu sēriju un atgriež asociatīvo masīvu. Atbalss konstrukcija parāda MySQL servera versiju. Un visbeidzot, metode DataBase::Close() aizvērs savienojumu ar datu bāzi.

Jautājums ir diezgan populārs iesācēju vidū, un būtu nepareizi tam neveltīt atsevišķu rakstu. Kā izveidot datu bāzes savienojumu, izmantojot PHP? Tūlīt teikšu PHP rīki pilnīgi pietiekami pilnvērtīgam darbam ar datu bāzēm un mijiedarbībai ar MySQL. Tagad mēģināsim izveidot savienojumu!

Kas nepieciešams, lai PHP savienotu ar MySQL?

1. Instalēta DBVS un izveidota darba datu bāze. Piemēram, MySQL (kas ir DBVS un MySQL?).
2. Konts MySQL lietotājs ar atbilstošām tiesībām (kas ir MySQL tiesības un privilēģijas?)
3. Attiecīgi serveris ar instalētu PHP

Ja neizpildīsit kādu no šīm darbībām, nevarēsit izveidot savienojumu.

Algoritms mijiedarbībai starp PHP un MySQL

1. Savienojuma izveide ar datu bāzi
2. Pieprasījuma nosūtīšana un rezultāta saņemšana
3. (Vēlams) Savienojuma aizvēršana

Tagad mēs izveidojam savienojumu ar datu bāzi, izmantojot PHP:

PHP kods

$db = mysql_connect("localhost", "Admin", "pass"); // lietotāja dati
mysql_select_db("baseName",$db); // atlasiet, ar kuru datu bāzi izveidot savienojumu
?>
Kā redzat, savienojumam ir norādīti četri parametri:

1. Saimniekdatora nosaukums. Daudzos gadījumos pietiek norādīt localhost (tajā pašā hostingā).
2. Tā lietotāja vārds, kuru reģistrējāt MySQL lietošanai.
3. Tā lietotāja parole, kuru reģistrējāt MySQL lietošanai.
4. Tās datu bāzes nosaukums, ar kuru mēs vēlamies izveidot savienojumu. Attiecīgi mūsu norādītajam lietotājam ir jābūt tiesībām strādāt šajā datubāzē.

Rezultātā, ja kaut kas ir norādīts nepareizi, tad nekas krimināls nenotiks, bet visticamāk jūs redzēsiet kļūdu. Bet būsim optimistiski, pieņemsim, ka visu ievadījāt pareizi.

Cits savienojuma veids:

PHP kods

$host="localhost"; /*saimnieks*/
$lietotājs="admin"; /*Lietotājvārds*/
$parole = "12345"; /*Lietotāja parole*/
$db="bāzes nosaukums"; /*Datu bāzes nosaukums*/

Mysql_connect($host, $user, $password); /*Izveidot savienojumu ar serveri*/
mysql_select_db($db); /*Izveidojiet savienojumu ar datu bāzi serverī*/
?>
Šeit es vizuāli izveidoju mainīgos ar piemēra datiem lietotājam un saimniekdatoram un pēc tam izveidoju savienojumu.

Kā pārtraukt (aizvērt) savienojumu ar datu bāzi PHP?

Ir gadījumi, kad savienojuma informācija ir norādīta nepareizi. Šajā gadījumā skripts turpinās apstrādāt PHP fails un lapā rada noteiktu skaitu kļūdu un brīdinājumu. Šajos gadījumos, izveidojot savienojumu ar datu bāzi, iesaku izmantot kļūdu apstrādātāju. Ja savienojums ir neveiksmīgs, jūs saņemsit brīdinājumu, kas informēs, kurā posmā problēma ir:

PHP kods

$lietotājs="admin";
$parole = "12345";
$db="bāzes nosaukums";

// ja radās kļūda
mysql_connect($host, $user, $password) or die("MySQL serveris nav pieejams!".mysql_error());
mysql_select_db($db) or die("Nav savienojuma ar datu bāzi."mysql_error());
?>
Ļoti svarīgi ir arī tas, ka scenārija izstrāde apstāsies, kas ietaupīs jūs no daudziem nepareiziem datiem.

Apsveicam! Tagad jūs zināt, kā izveidot savienojumu ar datu bāzi PHP un aizvērt savienojumu!

Paldies par uzmanību!

3 metodes savienojuma izveidei ar MySQL ar PHP ar kodu piemēriem


Lai sāktu lietot MySQL datu bāzi, vispirms ir jāsaprot, kā izveidot savienojumu no savas pielāgotās PHP programmas (skripta) ar šo pašu MySQL datu bāzi.

Šajā rakstā ir aprakstītas šādas trīs metodes, kā arī atbilstošo PHP koda piemēri, kas izskaidro, kā izveidot savienojumu ar datu bāzi no PHP.

Visiem tālāk minētajiem piemēriem mēs izveidosim savienojumu ar esošu MySQL datu bāzi. Piezīme: viss šeit izskaidrotais darbosies arī ar MariaDB, tāpat kā MySQL.

1. Savienojuma izveide ar PHP, izmantojot mysqli paplašinājumu
*mysqli nozīmē MySQL uzlabots

Izveidojiet šādu mysqli.php failu

connect_error) ( die("Kļūda: nevar izveidot savienojumu: " . $conn->connect_error); ) echo "Savienots ar datu bāzi.
"; $rezultāts = $conn->query("SELECT id FROM goroda"); echo "Rindu skaits: $result->num_rows"; $result->close(); $conn->close(); ?> Iepriekš minētajā kodā:

  • mysqli — šī funkcija uzsāk jaunu savienojumu, izmantojot mysqli paplašinājumu. Funkcijai ir četri argumenti:
    1. localhost ir resursdatora nosaukums, kurā darbojas MySQL datu bāze
    2. nosaukums — MySQL lietotājvārds, lai izveidotu savienojumu
    3. pass - mysql lietotāja parole
    4. db — MySQL datu bāze, ar kuru izveidot savienojumu.
  • qvery ir MySQL vaicājuma funkcija. Šajā piemērā mēs atlasām id kolonnu no pilsētas datu bāzes.
  • Visbeidzot, mēs parādām atlasīto rindu skaitu, izmantojot rezultāta mainīgo num_rows. Mēs arī aizveram gan rezultātu, gan savienojuma mainīgo, kā parādīts iepriekš.
Izsaucot iepriekš norādīto mysqli.php no savas pārlūkprogrammas, jūs redzēsit šādu izvadi, kas norāda, ka PHP varēja izveidot savienojumu ar MySQL datu bāzi un izgūt datus.

Savienots ar datu bāzi. Līniju skaits: 6 2. Savienojums no PHP MySQL ACVN paplašinājuma
*ACVN apzīmē PHP datu objektus

PDO_MYSQL draiveris ievieš ACVN saskarni, ko nodrošina PHP, lai izveidotu savienojumu no jūsu PHP skripta ar MySQL datu bāzi.

Izveidojiet šādu failu mysql-pdo.php:

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Savienots ar datu bāzi.
"; $sql = "ATLASĪT ID NO goroda"; drukāt "ID saraksts:
"; foreach ($conn->query($sql) kā $row) ( drukāt $row["id"] . "

  • "; ) $conn = null; ) catch(PDOException $err) ( echo "Kļūda: nevar izveidot savienojumu: " . $err->getMessage(); ) ?> Iepriekš:
    1. jauns ACVN — izveidos jaunu ACVN objektu, kas izmantos šādus trīs argumentus:
    2. mysql savienojuma virkne: tā būs formātā “mysql:host=localhost;dbname=db”. Iepriekš minētajā piemērā db darbojas uz localhost, un mēs izveidojam savienojumu ar db datu bāzi.
    3. MySQL lietotājvārds, lai izveidotu savienojumu
  • Mysql lietotāja parole
  • $sql mainīgais — izveidojiet sql vaicājumu, kuru vēlaties izpildīt. Šajā piemērā mēs atlasām kolonnu id no pilsētu tabulas.
  • vaicājums ($sql). Šeit mēs izpildām tikko izveidoto sql vaicājumu.
  • foreach. Šeit mēs apskatām iepriekš minētās vaicājuma komandas rezultātu un saglabājam to mainīgajā $ row un pēc tam izvadām, izmantojot echo.
MySQL ACVN, lai aizvērtu savienojumu, vienkārši iestatiet mainīgo $conn uz nulli.

Izsaucot iepriekš minēto mysqli.php skriptu no savas pārlūkprogrammas, jūs redzēsit šādas rindas; tie nozīmē, ka PHP varēja izveidot savienojumu ar MySQL datu bāzi un izgūt informāciju: Savienots ar datu bāzi. Saraksta ID: 1 2 3 4 5 6

3. Savienojums no PHP, izmantojot novecojušas mysql funkcijas Izmantojiet šo metodi tikai tad, ja lietojat vairāk vecā versija PHP un kādu iemeslu dēļ to nevar atjaunināt uz jaunā versija

Šis konkrētais paplašinājums ir novecojis kopš PHP 5.5. Bet no PHP 7.0 tas pat nedarbosies, jo tas tika noņemts. Kopš PHP 5.5, izmantojot šīs funkcijas, tas ģenerēs kļūdu E_DEPRECATED.

Izveidojiet failu mysql.php:

"; $rezultāts = mysql_query("SELECT id FROM Goroda"); $row = mysql_fetch_row($result); echo "id 1: ", $row, "
\n"; mysql_close($conn); ?> Iepriekš:

  • Funkcijai mysql_connect ir trīs argumenti:
    1. resursdatora nosaukums, kurā darbojas MySQL datu bāze;
    2. MySQL lietotājvārds, lai izveidotu savienojumu;
    3. parole mysql lietotājam. Šeit tas savienojas ar MySQL datu bāzi, kas darbojas lokālajā serverī, izmantojot lietotājvārdu un paroli.
  • mysql_select_db funkcija. Kā norāda nosaukums, tas atlasa datu bāzi, ar kuru vēlaties izveidot savienojumu. Līdzvērtīgs komandai "lietot". Šajā piemērā mēs izveidojam savienojumu ar db datu bāzi.
  • mysql_query funkcija — izmanto, lai norādītu jūsu MySQL vaicājumu. Šajā piemērā mēs atlasām id kolonnu no pilsētas datu bāzes.
  • mysql_fetch_row. Izmantojiet šo funkciju, lai izvilktu rindas no tikko izveidotā SQL vaicājuma.
  • Visbeidzot, aizveriet savienojumu, izmantojot komandu mysql_close, kā parādīts iepriekš.
Izsaucot iepriekš norādīto mysql-legacy.php no savas pārlūkprogrammas, jūs redzēsit šādu izvadi, kas norāda, ka PHP varēja izveidot savienojumu ar MySQL datu bāzi un izgūt informāciju:

Savienots ar datu bāzi. id 1: 1 Šādi varat izveidot savienojumu ar MySQL. Es atkārtoju, labāk ir izmantot pirmās divas metodes; O

Lai maksimāli izmantotu savu MySQL datubāzi, ir svarīgi saprast, kā izveidot savienojumu no pielāgotas PHP programmas ar MySQL datu bāzi.

Šajā apmācībā ir aprakstītas šādas trīs metodes, kā arī atbilstoša PHP paraugprogramma, kas izskaidro, kā izveidot savienojumu, izmantojot PHP, datu bāzei.

  • Izveidojiet savienojumu, izmantojot Mysqli paplašinājumu (ieteicams)
  • Savienot, izmantojot ACVN (ieteicams)
  • Savienojuma izveide, izmantojot tradicionālās mantotās mysql_ funkcijas (novecojusi)

Lai to izdarītu, jāinstalē PHP-MySQL pakotne.

Pamatojoties uz RedHat izplatīšanu, tostarp , izmantojiet yum, lai instalētu PHP-MySQL, kā parādīts tālāk.

Yum instalējiet php-mysql

Atkarībā no jūsu sistēmas mēs instalēsim vai atjaunināsim tālāk norādītās atkarības:

  • php-cli
  • php-kopīgs
  • php-pdo
  • php-pgsql

Kad viss ir instalēts, phpinfo lapā tiks parādīts MySQL modulis, kā parādīts zemāk:

Attiecībā uz visiem tālāk minētajiem piemēriem mēs izveidosim savienojumu ar MySQL datu bāzi, kas jau pastāv. Ja esat iesācējs MySQL, šī ir laba vieta, kur sākt: .

Piezīme. Viss šeit aprakstītais darbosies arī ar MariaDB, tāpat kā tas darbojas ar MySQL.

1. Savienojums PHP, izmantojot Mysqli paplašinājumu

MySQLi nozīmē MySQL Improved.

Lūdzu, ņemiet vērā, ka lielākajā daļā izplatījumu (piemēram, CentOS) PHP-MySQLi jau ir daļa no PHP-MySQL pakotnes. Tādā veidā jums nav jāmeklē un jāinstalē PHP-MySQLi pakotne. Viss, kas jums jādara, ir jāinstalē PHP-MySQL pakotne, lai jūsu sistēmā iegūtu funkcionējošu Mysqli paplašinājumu.

Apache programmā DocumentRoot izveidojiet šādu mysqli.php failu:

connect_error) ( die("Kļūda: Nevar izveidot savienojumu: " . $conn->connect_error); ) echo "Savienojuma izveide ar datu bāzi.
"; $rezultāts = $conn->query("ATLASĪT vārdu NO darbinieka"); echo "Rindu skaits: $rezultāts->rindu skaits"; $rezultāts->aizvērt(); $conn->close(); ?>

Iepriekš minētajā:

  • MySQLi – šī funkcija uzsāks jaunu savienojumu, izmantojot MySQL paplašinājumu. Šai funkcijai būs četri argumenti:
    1. Saimniekdatora nosaukums, kurā darbojas MySQL datu bāze
    2. MySQL savienojuma lietotājvārds
    3. MySQL lietotājvārds, lai izveidotu savienojumu
    4. MySQL datu bāze, ar kuru izveidot savienojumu.
  • Vaicājuma funkcija — izmantojiet to, lai norādītu savu MySQL vaicājumu. Šajā piemērā mēs atlasām vārda kolonnu no darbinieku datu bāzes.
  • Visbeidzot, mēs parādām atlasīto rindu skaitu, izmantojot mainīgo num_rows. Mēs arī aizveram savienojumu, kā parādīts iepriekš.

Izveidojiet savienojumu ar datu bāzi. Līniju skaits: 4

Piezīme. Ja mēģināt izveidot savienojumu ar attālo MySQL datu bāzi, varat to izdarīt, lai izvairītos no resursdatora savienojuma noraidīšanas kļūdas: Kā atļaut MySQL klientam izveidot savienojumu ar attālo MySQL serveri.

2. Savienojuma izveide, izmantojot PHP, MySQL ar ACVN paplašinājumu

ACVN apzīmē PHP datu objektus.

PDO_MYSQL ievieš ACVN saskarni, ko nodrošina PHP, lai savienotu programmu ar MySQL datu bāzi.

Lielākajā daļā Linux izplatījumu (piemēram, CentOS un RedHat) PHP-PDO pakotne jau ir iekļauta PHP-MySQL pakotnē. Tādā veidā jums nav jāmeklē un jāinstalē PHP-ACVN pakotne. Viss, kas jums jādara, ir jāinstalē PHP-MySQL pakotne, lai jūsu sistēmā iegūtu funkcionējošu PDO_MYSQL PHP paplašinājumu.

Izveidojiet šādu MySQL-pdo.php failu savā Apache DocumentRoot:

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Savienojuma izveide ar datu bāzi.
"; foreach ($conn->query($sql) kā $row) ( drukāt $row["nosaukums"] . "
"; ) $conn = null; ) catch(PDOException $err) ( echo "Kļūda: nevar izveidot savienojumu: " . $err->getMessage(); ) ?>

Iepriekš minētajā:

  • jauns ACVN — tiks izveidots jauns ACVN objekts, kas izmantos šādus trīs argumentus:
    1. MySQL savienojuma virkne: būs formātā “mysql:host=$hostname;dbname=$dbname”. Iepriekš minētajā piemērā datu bāze darbojas uz localhost, un mēs izveidojam savienojumu ar andreyex datu bāzi.
    2. Lietotājvārds, lai izveidotu savienojumu ar MySQL.
    3. Parole mysql lietotājam.
  • $sql mainīgais - izveide SQL vaicājums kuru vēlaties izpildīt. Šajā piemērā mēs atlasām kolonnu vārda no darbinieku tabulas.
  • query($sql) – šeit mēs izpildām tikko izveidoto SQL vaicājumu.
  • foreach - šeit mēs izpildām iepriekš minētās komandas un saglabājam tās mainīga virkne$ un tad mēs tos parādām, izmantojot drukāšanas komandu.
  • MySQL ACVN, lai aizvērtu savienojumu, vienkārši atiestatiet mainīgo $conn uz nulli.

Izsaucot mysqli.php no pārlūkprogrammas, jūs redzēsit šādu izvadi, kas norāda, ka PHP varēja izveidot savienojumu ar MySQL datu bāzi un iegūt datus.

Izveidojiet savienojumu ar datu bāzi. Darbinieka vārds: siteslan Marija Oļegs

3. Savienojums PHP, izmantojot mysql_ funkcijas (novecojis)

Izmantojiet šo metodi tikai tad, ja izmantojat vecāku PHP versiju un kāda iemesla dēļ nevarat jaunināt uz jauno versiju.

Šis ir mantots PHP 5.5 paplašinājums. Bet, sākot ar PHP 7.0 versiju, tas nedarbosies, jo tas tika noņemts.

Sākot ar PHP 5.5, izmantojot šīs funkcijas, tās ģenerēs kļūdu E_DEPRECATED.

Sadaļā Apache DocumentRoot izveidojiet šādu MySQL-legacy.php failu:

"; $rezultāts = mysql_query("ATLASĪT vārdu NO darbinieka"); $row = mysql_fetch_row($result); echo "Darbinieks 1: ", $row, "
\n"; mysql_close($conn); ?>

Iepriekš minētajā:

  • Funkcijai mysql_connect ir trīs argumenti: 1) resursdatora nosaukums, kurā darbojas MySQL datu bāze, 2) lietotājvārds, lai izveidotu savienojumu ar MySQL, 3) MySQL lietotāja parole. Šeit mēs izveidojam savienojumu ar MySQL datu bāzi, kas darbojas lokālajā serverī, izmantojot saknes lietotājvārdu un tā paroli.
  • mysql_select_db funkcija – kā norāda nosaukums, tiks atlasīta datu bāze, ar kuru vēlaties izveidot savienojumu. Tas ir līdzvērtīgs komandai "lietot". Šajā piemērā mēs izveidojam savienojumu ar andreyex datu bāzi.
  • mysql_query funkcija — izmantojiet to, lai norādītu savu MySQL vaicājumu. Šajā piemērā mēs atlasām vārda kolonnu no darbinieku datu bāzes.
  • mysql_fetch_row — izmantojiet šo funkciju, lai izgūtu rindas no tikko izveidotā SQL vaicājuma.
  • Visbeidzot aizveriet savienojumu, izmantojot komandu mysql_close, kā parādīts iepriekš.

Izsaucot MySQL-legacy.php no pārlūkprogrammas, jūs redzēsit šādu izvadi, kas norāda, ka PHP varēja izveidot savienojumu ar MySQL datu bāzi un iegūt datus.

Izveidojiet savienojumu ar datu bāzi. Darbinieks 1: Andrejs Ex