Bahay / Mga game console / Pagkonekta sa mysql php 5. Pagkonekta sa isang MySQL database. Isang mas progresibong istilo ng pamamaraan - pagkonekta sa database gamit ang mysqli

Pagkonekta sa mysql php 5. Pagkonekta sa isang MySQL database. Isang mas progresibong istilo ng pamamaraan - pagkonekta sa database gamit ang mysqli

Gamit ang php...

Paglikha ng isang koneksyon sa isang database sa PHP sa iba't ibang paraan:

1) ang makalumang paraan ng pagkonekta sa MySQL:

$conn=mysql_connect($db_hostname, $db_username, $db_password) o die ("Walang koneksyon sa server");
mysql_select_db($db_database,$conn) o die ("Hindi, hindi posible na kumonekta sa database");

Mga paliwanag ng mga variable sa ibaba.

Ang mga sumusunod na function ay ginagamit:

  • mysql_connect()- upang kumonekta sa server;
  • mysql_select_db()- upang kumonekta sa database;

Kasabay nito, patuloy naming sinusuri ang mga error sa ganitong paraan: o mamatay ("Ang error ay ganito at ganoon"); - isinalin bilang o mamatay na may ganito at ganoong error - upang mahanap agad kung nasaan ang error.

config.php

// variable para sa pagkonekta sa database
$host = "localhost"; /host
$username = "ugat"; // password para sa pagkonekta sa database
$password = ""; // password para sa pagkonekta sa database - on lokal na kompyuter ito ay maaaring may walang laman na halaga.
$database_name = "my-dolgi"; // pangalan ng database

// lumang paraan ng pagkonekta sa database
mysql_connect($host, $username, $password) or die("Hindi makakonekta gumawa ng koneksyon");

// piliin ang database. Kung may error, output
mysql_select_db($database_name) o mamatay(mysql_error());

index.php

require_once "config.php";


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



";


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


mysql_free_result($result);

// Isara ang koneksyon
mysql_close();

2) Isang mas progresibong istilo ng pamamaraan - pagkonekta sa database gamit ang mysqli:

Ang pamamaraang ito:

  1. maginhawa;
  2. hanggang sa 40 beses na mas mabilis;
  3. nadagdagan ang seguridad;
  4. may mga bagong feature at function;

Isang halimbawa ng pagkonekta sa isang database sa PHP na may isang seleksyon mula sa isang talahanayan

config.php

// mga koneksyon sa database
$link = mysqli_connect("localhost", "username", "password", "name-database"); // dito namin direktang ipinasok ang iyong data: user name, password at database name, ang unang field ay karaniwang localhost

// error sa koneksyon sa output
kung (!$link) (
echo "Error sa pagkonekta sa database. Error code: " . mysqli_connect_error();
labasan;
}

Pakitandaan - ginagamit ang mysqli kahit saan, hindi mysql!!!

index.php

require_once "config.php";

// Isagawa ang kahilingan. Kung may error, ipinapakita namin ito
kung ($resulta = mysqli_query($link,"PUMILI NG Pangalan, Pera MULA SA UTANG ORDER NG Pera DESC LIMIT 5")) (

Echo "Kanino ako may utang sa pababang pagkakasunud-sunod:

";

// Kinukuha ang mga resulta ng query
habang ($row = mysqli_fetch_assoc($resulta)) (
echo $row["Pangalan"] . "may utang". $row["Pera"] . "rubles.
";
}

// pagpapalaya ng ginamit na memorya
mysqli_free_result($resulta);

// Isara ang koneksyon
mysqli_close($link);
}

Tulad ng nakikita mo, ang ilang mga punto ay nagbago (sa italics).

3) Object-oriented na paraan ng pagkonekta sa isang MySQL database - gamit ang mga pamamaraan at klase:

Cons: Mas kumplikado at hindi gaanong madaling kapitan ng mga error.

Mga kalamangan: kaiklian at kaginhawahan para sa mga bihasang programmer.

$conn = bagong mysqli($db_hostname, $db_username, $db_password, $db_database);
if($conn->connect_errno)(
mamatay($conn->connect_error);
) else (echo "Ang koneksyon sa database ay matagumpay na naitatag";)

dito, sa prinsipyo, ang lahat ay madaling maunawaan:

  • Ang $db_hostname ay host(karamihan localhost),
  • $db_database - db pangalan;
  • $db_username at $db_password - username at password ayon sa pagkakabanggit!

Isang halimbawa ng pagkonekta sa isang database sa php OOP style na may sampling mula sa isang table

config.php

// mga koneksyon sa database
$mysqli = bagong mysqli("localhost", "username", "password", "name-database"); // dito namin direktang ipinasok ang iyong data: user name, password at database name, ang unang field ay karaniwang localhost

// error sa koneksyon sa output
kung ($mysqli->connect_error) (
mamatay ("Error sa koneksyon ng DB: (" . $mysqli->connect_errno . ") " . mysqli_connect_error);
}

Pakitandaan - ginagamit ang mysqli kahit saan, hindi mysql!!! at hindi tulad ng nakaraang pamamaraan, ang mga arrow na "->" ay lilitaw, na nagpapahiwatig na ito ay isang estilo ng OOP.

index.php

require_once "config.php";

// Isagawa ang kahilingan. Kung may error, ipinapakita namin ito
kung ($resulta = $ mysqli->query("PUMILI NG Pangalan, Pera MULA SA UTANG ORDER NG Pera DESC LIMIT 5") (

Echo "Kanino ako may utang sa pababang pagkakasunud-sunod:

";

// Kinukuha ang mga resulta ng query
habang ($row = $result-> fetch_assoc()) {
echo $row["Pangalan"] . "may utang". $row["Pera"] . "rubles.
";
}

// pagpapalaya ng ginamit na memorya
$resulta->close();

// Isara ang koneksyon
$mysqli->close();
}

Ang iyong gawain ay hanapin ang mga pagkakaiba.

4) Komunikasyon sa database gamit ang PDO:

Kapag kumokonekta sa isang database ng MySQL, ginagamit ang mga inihandang expression (gamit ang paraan ng paghahanda) at bilang resulta, higit na seguridad at lubos na nagpapataas ng pagganap.

config file mula sa nakaraang pamamaraan! - pareho

index.php

// Estilo ng PDO para sa komunikasyon sa MySQL
if ($stmt = $mysqli->prepare("SELECT Name, Voney FROM Dolg ORDER BY Money< ? LIMIT 5")) {

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

//simulan ang pagpapatupad
$stmt->execute();

// Pagdedeklara ng mga variable para sa mga inihandang halaga
$stmt->bind_result($col1, $col2);

Echo "Kanino ako may utang sa pababang pagkakasunud-sunod:

";

// Kinukuha ang mga resulta ng query
habang ($stmt->fetch()) (
echo $col1 . "may utang". $col2 . "rubles.
";
}

// pagpapalaya ng ginamit na memorya
$stmt->close();

// Isara ang koneksyon
$mysqli->close();

Tulad ng nakikita mo, ito ay mas kumplikado dito at kailangan mong pag-aralan ang PDO - ito ay isang hiwalay na paksa.

Sa artikulong ito ngayon ay pag-uusapan natin ang tungkol sa paglikha ng isang koneksyon sa isang database at talakayin kung aling opsyon ang mas mahusay na gumamit ng procedural o object-oriented. Una, tingnan natin kung anong antas tayo, kung ito ang antas ng isang kumpletong baguhan, kung gayon ang aking payo, nang walang pagbubukod, ay simulan ang paggamit ng istilo ng pamamaraan ng pagkonekta sa database. Noong nakaraan, nagsulat ako ng isang artikulo sa paksang ito sa aking blog para sa karagdagang impormasyon tungkol sa istilo ng pamamaraan ng pagkonekta sa isang database, basahin ang artikulong: "Paano kumonekta sa MySQL gamit ang PHP". Kung mayroon ka nang karanasan sa pagtatrabaho sa istilo ng pamamaraan ng pagkonekta sa isang database, malamang, tulad ko, kinuha mo lang ang aking mga proyekto at pinilit silang gumamit ng isang object-oriented na diskarte.

Sa isang paraan o iba pa, titingnan natin ngayon ang mga hakbang ng pagbuo ng isang klase upang lumikha ng koneksyon sa isang database ng MySQL sa wika ng PHP. Kakailanganin namin ang dalawang PHP file, sa isang file ay "ilalagay" namin ang klase para sa paglikha ng isang koneksyon sa database, at sa pangalawa ay gagana kami sa klase na ito.

Gumawa tayo ng dalawang file:

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

Sa tingin ko hindi na kami maliliit na bata at alam namin kung ano ang kailangan namin upang gumana sa mga file na PHP. Ang naka-install na web server ay Apache, PHP, MySQL DBMS at alam kung saan ilalagay ang mga file na ito - (para sa mga hindi nakakaalam o nakakalimutan).

Inilagay ko ang file kung saan nakaimbak ang klase sa isang hiwalay na file at pinangalanan ito sa format na: class name.class.php at alam ko kung ano ang nakaimbak sa file na ito. Kapag maraming klase sa isang proyekto, maaari kang mawala, kaya inirerekomenda ko ang pagbibigay ng pangalan sa mga file na may mga klase sa format na inilarawan sa itaas.

Database.class.php file:

Tingnan natin ngayon kung ano ang nilikha sa hakbang na ito. Gamit ang keyword na "class", ang pangalan ng klase - DataBase at curly braces, ginawa namin ang katawan ng klase. Sa ginawang klase, lumikha kami ng dalawang katangian, sa $mConnect - kung saan nakaimbak ang resulta ng pagkonekta sa database at $mSelectDB - kung saan nakaimbak ang resulta ng pagpili ng database. Maaaring napansin mo ang mga keyword sa bawat property - pampubliko at static. Ano ang pinag-uusapan nila? Ang ibig sabihin ng publiko ay naa-access ang property mula sa labas ng klase, at ginagawang posible ng static na ma-access o tawagan ang property nang hindi gumagawa ng instance ng klase, na kadalasang maginhawa sa trabaho.

Idagdag natin ang paraan ng Connect() upang lumikha ng koneksyon sa database:

".mysql_error()."

"; exit(); return false; ) // Ibalik ang resulta return self::$mConnect; ) ) ?>

  • $host - server IP address, sa isang lokal na PC ito ay localhost;
  • user - database user name;
  • $pass - password ng gumagamit ng database;
  • $name - ang pangalan ng database kung saan kami kumukonekta;

Ang mysql_connect() function ay lumilikha ng koneksyon sa database at iniimbak ang resulta ng pagpapatupad sa $mConnect. Susunod ay may tseke sa IF construct: Kung hindi matagumpay ang koneksyon, magpakita ng mensahe ng error... Kung hindi, babalewalain ng PHP ang IF block at patuloy na pipiliin ang database. Ang mysql_select_db() function ay pumipili ng pangalan ng database, kung ang hiniling na database ay hindi umiiral sa database, sa kasong ito ang programa ay ipaalam sa gumagamit ng isang error. Kung matagumpay ang lahat, babalik ang koneksyon sa database.

Idagdag ang Close() method:

Paumanhin, hindi kami nakakonekta sa MySQL server

"; exit(); return false; ) // Subukang pumili ng database self::$mSelectDB = mysql_select_db($name, self::$mConnect); // Kung hindi napili ang database, magpakita ng mensahe ng error.. kung( !self::$mSelectDB) ( echo "

".mysql_error()."

"; exit(); return false; ) // Ibalik ang resulta return self::$mConnect; ) // Isinasara ng pamamaraan ang koneksyon sa database public static function Close() ( // Ibinabalik ang resulta return mysql_close(self: :$mConnect) ; ) ) ?>

Ang susunod at huling paraan sa klase na ito, Close(), ay nagsasara ng koneksyon sa database, ang mysql_close() function ay nagsasara ng koneksyon sa MySQL server at ibinabalik ang resulta.

Index.php file:

Gamit ang function na define(), gumawa kami ng mga constant upang mag-imbak ng mga parameter ng koneksyon sa database. Kasama sa Require_once ang aming klase ng DataBase sa index.php file.

Tandaan natin ang static na keyword na ginamit sa klase ng DataBase sa mga katangian at pamamaraan ng klase na ito. Nagbibigay ito sa amin ng kakayahang ma-access ang mga katangian ng klase at pamamaraan gamit ang "::" (dalawang colon). Ang DataBase::Connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE) na pamamaraan ay tumatagal ng 4 na parameter - mga constant na nilikha ng define() function, na nag-iimbak ng impormasyon tungkol sa koneksyon sa database. Kung matagumpay ang koneksyon, ang paraan ng Connect() ay magbabalik sa amin ng koneksyon sa database. Susunod, magagawa nating magtrabaho at magsagawa ng mga query sa database. mysql_query() function - nagpapatupad ng query sa database. Ang mysql_fetch_assoc() function ay nagpoproseso ng serye ng mga resulta ng query at nagbabalik ng associative array. Ang echo construct ay nagpapakita ng bersyon ng MySQL server. At sa wakas, ang DataBase::Close() na pamamaraan ay isasara ang koneksyon sa database.

Ang tanong ay medyo popular sa mga nagsisimula at magiging mali na hindi maglaan ng isang hiwalay na artikulo dito. Paano lumikha ng isang koneksyon sa database gamit ang PHP? sasabihin ko agad Mga tool sa PHP sapat na para sa ganap na trabaho sa mga database at pakikipag-ugnayan sa MySQL. Ngayon subukan nating kumonekta!

Ano ang kailangan mong ikonekta ang PHP sa MySQL?

1. Nag-install ng DBMS at lumikha ng gumaganang database. Halimbawa, sa MySQL (Ano ang DBMS at MySQL?).
2. Account user para sa MySQL na may naaangkop na mga karapatan (Ano ang mga karapatan at pribilehiyo sa MySQL?)
3. Alinsunod dito, isang server na may naka-install na PHP

Kung hindi mo nakumpleto ang isa sa mga hakbang na ito, hindi ka makakakonekta.

Algorithm para sa pakikipag-ugnayan sa pagitan ng PHP at MySQL

1. Pagkonekta sa database
2. Pagpapadala ng kahilingan at pagtanggap ng resulta
3. (Preferred) Isinasara ang koneksyon

Ngayon kumonekta kami sa database gamit ang PHP:

PHP code

$db = mysql_connect("localhost", "Admin", "pass"); // data ng gumagamit
mysql_select_db("baseName",$db); // piliin kung saang database kumonekta
?>
Tulad ng nakikita mo, apat na mga parameter ang tinukoy para sa koneksyon:

1. Hostname. Sa maraming mga kaso, sapat na upang tukuyin ang localhost (sa parehong pagho-host).
2. Ang pangalan ng user na iyong inirehistro para gumamit ng MySQL.
3. Ang password ng user na iyong inirehistro para gumamit ng MySQL.
4. Ang pangalan ng Database na gusto naming kumonekta. Alinsunod dito, ang user na tinukoy namin ay dapat may mga karapatan na magtrabaho sa database na ito.

Bilang isang resulta, kung ang isang bagay ay ipinahiwatig nang hindi tama, kung gayon walang kriminal na mangyayari, ngunit malamang na makakakita ka ng isang error. Ngunit maging optimistic tayo, sabihin nating naipasok mo nang tama ang lahat.

Isa pang uri ng koneksyon:

PHP code

$host="localhost"; /*host*/
$user="admin"; /*Username*/
$password="12345"; /*User password*/
$db="baseName"; /*Pangalan ng database*/

Mysql_connect($host, $user, $password); /*Kumonekta sa server*/
mysql_select_db($db); /*Kumonekta sa isang database sa server*/
?>
Dito ako biswal na lumikha ng mga variable na may halimbawang data para sa user at host, at pagkatapos ay lumikha ng isang koneksyon.

Paano matakpan (isara) ang isang koneksyon sa isang database sa PHP?

May mga kaso kapag ang impormasyon ng koneksyon ay tinukoy nang hindi tama. Sa kasong ito, patuloy na pinoproseso ang script PHP file at mga isyu isang tiyak na halaga ng mga error at babala sa pahina. Para sa mga kasong ito, iminumungkahi kong gumamit ng error handler kapag kumokonekta sa database. Kung hindi matagumpay ang koneksyon, makakatanggap ka ng babala na magsasabi sa iyo kung anong yugto ang problema:

PHP code

$user="admin";
$password="12345";
$db="baseName";

// kung may naganap na error
mysql_connect($host, $user, $password) or die("MySQL server is unavailable!".mysql_error());
mysql_select_db($db) or die("Walang koneksyon sa database."mysql_error());
?>
Napakahalaga rin na titigil ang pagbuo ng senaryo, na magliligtas sa iyo mula sa maraming maling data.

Binabati kita! Ngayon alam mo na kung paano kumonekta sa isang database sa PHP at isara ang koneksyon!

Salamat sa iyong atensyon!

3 paraan upang kumonekta sa MySQL gamit ang PHP na may mga halimbawa ng code


Upang simulan ang paggamit ng MySQL database, kailangan mo munang maunawaan kung paano kumonekta mula sa iyong custom na PHP program (script) sa mismong MySQL database na ito.

Inilalarawan ng artikulong ito ang sumusunod na tatlong pamamaraan, kasama ang kaukulang mga halimbawa ng PHP code na nagpapaliwanag kung paano kumonekta sa iyong database mula sa PHP.

Para sa lahat ng mga halimbawa sa ibaba, kami ay kumokonekta sa isang umiiral na MySQL database. Tandaan: Lahat ng ipinaliwanag dito ay gagana rin sa MariaDB, tulad ng MySQL.

1. Pagkonekta sa PHP gamit ang mysqli extension
*Ang ibig sabihin ng mysqli ay MySQL Improved

Lumikha ng sumusunod na mysqli.php file

connect_error) ( die("Error: unable to connect: " . $conn->connect_error); ) echo "Nakakonekta sa database.
"; $result = $conn->query("SELECT id FROM goroda"); echo "Bilang ng mga row: $result->num_rows"; $result->close(); $conn->close(); ?> Sa code sa itaas:

  • mysqli - Ang function na ito ay nagpapasimula ng isang bagong koneksyon gamit ang mysqli extension. Ang function ay tumatagal ng apat na argumento:
    1. localhost ay ang pangalan ng host kung saan tumatakbo ang MySQL database
    2. pangalan - MySQL username upang kumonekta
    3. pass - password para sa mysql user
    4. db - MySQL database upang kumonekta sa.
  • Ang qvery ay isang MySQL query function. Sa halimbawang ito, pipiliin namin ang column ng id mula sa database ng lungsod.
  • Sa wakas, ipinapakita namin ang bilang ng mga row na napili gamit ang num_rows variable sa resulta. Isinasara din namin ang resulta at ang variable ng koneksyon tulad ng ipinapakita sa itaas.
Kapag tinawagan mo ang mysqli.php sa itaas mula sa iyong browser, makikita mo ang sumusunod na output na nagpapahiwatig na ang PHP ay nakakonekta sa MySQL database at nakuha ang data.

Nakakonekta sa database. Bilang ng mga linya: 6 2. Koneksyon mula sa PHP MySQL PDO Extension
*Ang PDO ay nangangahulugang PHP Data Objects

Ipinapatupad ng driver ng PDO_MYSQL ang interface ng PDO na ibinigay ng PHP upang kumonekta mula sa iyong script ng PHP sa isang database ng MySQL.

Lumikha ng sumusunod na mysql-pdo.php file:

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Nakakonekta sa database.
"; $sql = "PUMILI NG id MULA SA goroda"; i-print ang "Listahan ng id:
"; foreach ($conn->query($sql) bilang $row) ( print $row["id"] . "
"; ) $conn = null; ) catch(PDOException $err) ( echo "Error: Hindi makakonekta: " . $err->getMessage(); ) ?> Sa itaas:

  • bagong PDO - gagawa ng bagong object ng PDO na kukuha ng sumusunod na tatlong argumento:
    1. mysql connect string: ito ay nasa format na "mysql:host=localhost;dbname=db". Sa halimbawa sa itaas ang db ay tumatakbo sa localhost at kami ay kumokonekta sa db database.
    2. MySQL username upang kumonekta
    3. Password ng gumagamit ng MySQL
  • $sql variable - lumikha ng sql query na gusto mong isagawa. Sa halimbawang ito, pipiliin namin ang column ng id mula sa talahanayan ng mga lungsod.
  • query ($sql). Dito namin isinasagawa ang sql query na nilikha namin.
  • foreach. Dito namin i-loop ang resulta mula sa query command sa itaas at iniimbak ito sa $row variable at pagkatapos ay i-output ito gamit ang echo.
  • Sa MySQL PDO, upang isara ang isang koneksyon, itakda lamang ang $conn variable sa null.
Kapag tinawag mo ang script sa itaas ng mysqli.php mula sa iyong browser, makikita mo ang mga sumusunod na linya; ang ibig nilang sabihin ay nakakonekta ang PHP sa database ng MySQL at nakuha ang impormasyon:

Nakakonekta sa database. List id: 1 2 3 4 5 6 3. Koneksyon mula sa PHP gamit ang hindi napapanahong mysql function

Gamitin lamang ang paraang ito kung gumagamit ka ng higit pa lumang bersyon PHP at sa ilang kadahilanan ay hindi mo ito mai-update bagong bersyon. Inirerekomenda na gamitin ang paraan #2 at pamamaraan #3 na ipinakita sa itaas sa halip na ang pamamaraang ito. Isinama ko ang paraang ito para sa sanggunian lamang at hindi bilang isang rekomendasyon para sa paggamit.

Ang partikular na extension na ito ay hindi na ginagamit mula noong PHP 5.5. Ngunit sa PHP 7.0 ay hindi na ito gagana dahil tinanggal ito. Dahil PHP 5.5, kapag ginamit mo ang mga function na ito, bubuo ito ng E_DEPRECATED error.

Lumikha ng mysql.php file:

"; $result = mysql_query("SELECT id FROM goroda"); $row = mysql_fetch_row($result); echo "id 1: ", $row, "
\n"; mysql_close($conn); ?> Sa itaas:

  • Ang mysql_connect function ay tumatagal ng tatlong argumento:
    1. ang pangalan ng host kung saan tumatakbo ang MySQL database;
    2. MySQL username upang kumonekta;
    3. password para sa mysql user. Dito kumokonekta ito sa MySQL database na tumatakbo sa lokal na server gamit ang username at password nito.
  • mysql_select_db function. Gaya ng iminumungkahi ng pangalan, pinipili nito ang database na gusto mong kumonekta. Katumbas ng "use" command. Sa halimbawang ito kami ay kumokonekta sa isang db database.
  • mysql_query function - ginagamit upang tukuyin ang iyong query sa MySQL. Sa halimbawang ito, pipiliin namin ang column ng id mula sa database ng lungsod.
  • mysql_fetch_row. Gamitin ang function na ito para mag-extract ng mga row mula sa SQL query na kakagawa lang namin.
  • Sa wakas, isara ang koneksyon gamit ang mysql_close command tulad ng ipinapakita sa itaas.
Kapag tinawagan mo ang mysql-legacy.php sa itaas mula sa iyong browser, makikita mo ang sumusunod na output, na nagpapahiwatig na ang PHP ay nakakonekta sa MySQL database at nakuha ang impormasyon:

Nakakonekta sa database. id 1: 1 Ito ay kung paano ka makakakonekta sa MySQL. Uulitin ko, mas mainam na gamitin ang unang dalawang pamamaraan; O

Upang masulit ang iyong MySQL database, mahalagang maunawaan kung paano kumonekta mula sa isang custom na PHP program patungo sa isang MySQL database.

Inilalarawan ng tutorial na ito ang sumusunod na tatlong pamamaraan kasama ang isang katumbas na halimbawang programa ng PHP na magpapaliwanag kung paano kumonekta gamit ang PHP sa isang database.

  • Kumonekta gamit ang Mysqli extension (inirerekomenda)
  • Kumonekta gamit ang PDO (inirerekomenda)
  • Pagkonekta gamit ang tradisyonal na legacy mysql_ function (hindi na ginagamit)

Upang gawin ito, kailangan mong i-install ang PHP-MySQL package.

Batay sa pamamahagi ng RedHat kasama ang , gumamit ng yum upang i-install ang PHP-MySQL tulad ng ipinapakita sa ibaba.

Yum install php-mysql

Depende sa iyong system, ii-install o i-update namin ang mga sumusunod na dependencies sa itaas:

  • php-cli
  • php-common
  • php-pdo
  • php-pgsql

Kapag na-install na ang lahat, ipapakita ng pahina ng phpinfo ang MySQL module tulad ng ipinapakita sa ibaba:

Para sa lahat ng mga halimbawa sa ibaba, kami ay kumokonekta sa isang MySQL database na mayroon na. Kung bago ka sa MySQL, ito ay isang magandang lugar upang magsimula: .

Tandaan: Lahat ng inilarawan dito ay gagana rin sa MariaDB, tulad ng paggana nito sa MySQL.

1. Koneksyon sa PHP gamit ang extension ng Mysqli

Ang MySQLi ay nangangahulugang MySQL Improved.

Pakitandaan na sa karamihan ng mga distribusyon (hal: CentOS), ang PHP-MySQLi ay bahagi na ng PHP-MySQL package. Sa ganitong paraan hindi mo na kailangang maghanap at mag-install ng PHP-MySQLi package. Ang kailangan mo lang gawin ay i-install ang PHP-MySQL package para makakuha ng gumaganang Mysqli extension sa iyong system.

Lumikha ng sumusunod na mysqli.php file sa DocumentRoot sa Apache:

connect_error) ( die("Error: Unable to connect: " . $conn->connect_error); ) echo "Kumokonekta sa database.
"; $result = $conn->query("PUMILI NG pangalan MULA SA empleyado"); echo "Bilang ng mga row: $result->num_rows"; $result->close(); $conn->close(); ?>

Sa itaas:

  • MySQLi - Ang function na ito ay magsisimula ng isang bagong koneksyon gamit ang extension ng Mysqli. Ang pagpapaandar na ito ay kukuha ng apat na argumento:
    1. Hostname kung saan tumatakbo ang MySQL database
    2. Username para sa koneksyon sa MySQL
    3. Password ng gumagamit ng MySQL
    4. MySQL database upang kumonekta sa.
  • Query Function – Gamitin ito para tukuyin ang iyong MySQL query. Sa halimbawang ito, pipiliin namin ang column ng pangalan mula sa database ng empleyado.
  • Sa wakas, ipinapakita namin ang bilang ng mga row na napili gamit ang num_rows variable. Isinasara din namin ang koneksyon tulad ng ipinapakita sa itaas.

Kumonekta sa database. Bilang ng mga linya: 4

Tandaan: Kung sinusubukan mong kumonekta sa isang malayuang database ng MySQL, magagawa mo ito upang maiwasan ang error na tinanggihan ng koneksyon ng host: Paano payagan ang isang MySQL client na kumonekta sa isang malayong MySQL server.

2. Pagkonekta gamit ang PHP sa MySQL gamit ang extension ng PDO

Ang PDO ay nangangahulugang PHP Data Objects.

Ipinapatupad ng PDO_MYSQL ang interface ng PDO na ibinigay ng PHP para sa pagkonekta ng isang programa sa isang database ng MySQL.

Sa karamihan ng mga distribusyon ng Linux (gaya ng CentOS at RedHat), ang PHP-PDO package ay kasama na sa PHP-MySQL package. Sa ganitong paraan hindi mo na kailangang maghanap at mag-install ng PHP-PDO package. Ang kailangan mo lang gawin ay i-install ang PHP-MySQL package para makakuha ng gumaganang PDO_MYSQL PHP extension sa iyong system.

Lumikha ng sumusunod na MySQL-pdo.php file sa iyong Apache DocumentRoot:

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Pagkonekta sa database.
"; $sql = "PUMILI NG pangalan MULA SA empleyado"; i-print ang "Pangalan ng empleyado:
"; foreach ($conn->query($sql) bilang $row) ( print $row["name"] . "
"; ) $conn = null; ) catch(PDOException $err) ( echo "Error: Hindi makakonekta: " . $err->getMessage(); ) ?>

Sa itaas:

  • bagong PDO – Gagawa ng bagong object ng PDO na kukuha ng sumusunod na tatlong argumento:
    1. MySQL connection string: ay nasa format na “mysql:host=$hostname;dbname=$dbname”. Sa halimbawa sa itaas, ang database ay tumatakbo sa localhost at kami ay kumokonekta sa andreyex database.
    2. Username para kumonekta sa MySQL.
    3. Password para sa mysql user.
  • $sql variable – paglikha SQL query na gusto mong ipatupad. Sa halimbawang ito, pipiliin namin ang column ng pangalan mula sa talahanayan ng empleyado.
  • query($sql) – dito natin ipapatupad ang SQL query na nilikha natin.
  • foreach – Dito namin pinapatakbo ang mga command sa itaas at iniimbak ang mga ito sa $string variable at pagkatapos ay ipinapakita namin ang mga ito gamit ang print command.
  • Sa MySQL PDO, upang isara ang isang koneksyon, i-reset lamang ang $conn variable sa zero.

Kapag tumawag ka sa mysqli.php mula sa iyong browser, makikita mo ang sumusunod na output, na nagpapahiwatig na ang PHP ay nakakonekta sa MySQL database at nakuha ang data.

Kumonekta sa database. Pangalan ng Empleyado: siteslan Maria Oleg

3. Koneksyon sa PHP gamit ang mysql_ functions (luma na)

Gamitin lang ang paraang ito kung gumagamit ka ng mas lumang bersyon ng PHP at hindi makapag-update sa bagong bersyon sa ilang kadahilanan.

Ito ay isang legacy na PHP 5.5 extension. Ngunit simula sa PHP 7.0 na bersyon, hindi ito gagana dahil inalis ito.

Sa PHP 5.5, kapag ginamit mo ang mga function na ito, bubuo sila ng E_DEPRECATED error.

Lumikha ng sumusunod na MySQL-legacy.php file sa ilalim ng Apache DocumentRoot:

"; $result = mysql_query("PUMILI NG pangalan MULA sa empleyado"); $row = mysql_fetch_row($result); echo "Empleyado 1: ", $row, "
\n"; mysql_close($conn); ?>

Sa itaas:

  • Ang mysql_connect function ay tumatagal ng tatlong argumento: 1) ang hostname kung saan tumatakbo ang MySQL database, 2) ang username para kumonekta sa MySQL, 3) ang password para sa MySQL user. Dito kami kumonekta sa MySQL database, na tumatakbo sa lokal na server, gamit ang root username at password nito.
  • mysql_select_db function - Tulad ng iminumungkahi ng pangalan, pipiliin ang database na nais mong kumonekta. Katumbas ito ng utos na "gamitin". Sa halimbawang ito kami ay kumokonekta sa andreyex database.
  • mysql_query function - Gamitin ito upang tukuyin ang iyong query sa MySQL. Sa halimbawang ito, pipiliin namin ang column ng pangalan mula sa database ng empleyado.
  • mysql_fetch_row - Gamitin ang function na ito para kumuha ng mga row mula sa SQL query na kakagawa lang namin.
  • Sa wakas isara ang koneksyon gamit ang mysql_close command tulad ng ipinapakita sa itaas.

Kapag tumawag ka sa MySQL-legacy.php mula sa iyong browser, makikita mo ang sumusunod na output, na nagpapahiwatig na ang PHP ay nakakonekta sa MySQL database at nakuha ang data.

Kumonekta sa database. Empleyado 1: AndreyEx