Free a open-source MySQL je jedním z nejpopulárnějších systémů pro správu relačních databází. Slouží k ukládání obsahu webových stránek a webových aplikací. Pokud chcete integrovat webovou aplikaci založenou na PHP s MySQL, budete muset otestovat, zda se PHP dokáže připojit k MySQL a provádět databázové dotazy. Chcete-li načíst data z MySQL, musíte vytvořit spojení mezi databází a PHP skriptem. Existují dva způsoby, jak navázat spojení mezi databází a PHP skriptem.
V tomto příspěvku vysvětlíme:
- Jak se připojit k MySQL pomocí rozšíření PHP MySQLi
- Jak se připojit k MySQL pomocí PHP Data Objects (PDO)
Předpoklady
- Server se systémem Linux na cloudové platformě Atlantic.Net
- Heslo uživatele root nakonfigurované na vašem serveru
Vytvořte cloudový server Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a vyberte operační systém Linux založený na Ubuntu nebo Debianu s alespoň 1 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Nainstalujte sadu LAMP
Před spuštěním musí být na vašem serveru nainstalován zásobník LAMP. Pokud není nainstalován, můžete jej nainstalovat pomocí následujícího příkazu:
apt-get install apache2 mysql-server php libapache2-mod-php php-mysqli php-pdo -y
Jakmile je zásobník LAMP nainstalován, spusťte a povolte službu Apache a MySQL:
systemctl start apache2 mysql systemctl enable apache2 mysql
Konfigurace databáze MySQL
Dále budete muset vytvořit testovací databázi, tabulku s některými daty pro dotazování na její obsah pomocí PHP skriptu.
Nejprve se připojte k prostředí MySQL pomocí následujícího příkazu:
mysql
Jakmile se připojíte, vytvořte databázi a uživatele pomocí následujícího příkazu:
CREATE DATABASE testdb; CREATE USER 'testuser'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
Dále udělte všechna oprávnění databázi pomocí následujícího příkazu:
GRANT ALL ON testdb.* TO 'testuser'@'%';
Dále přepněte databázi na testdb a vytvořte tabulku s názvem people:
USE testdb; CREATE TABLE people ( item_id INT AUTO_INCREMENT, content VARCHAR(255), PRIMARY KEY(item_id) );
Dále do tabulky vložte některá data:
INSERT INTO people (content) VALUES ("Hitesh Jethva"); INSERT INTO people (content) VALUES ("Jayesh Jethva"); INSERT INTO people (content) VALUES ("Vyom Jethva"); INSERT INTO people (content) VALUES ("Ninav Jethva");
Dále ověřte všechna vložená data pomocí následujícího příkazu:
SELECT * FROM people;
Získáte následující výstup:
+---------+---------------+ | item_id | content | +---------+---------------+ | 1 | Hitesh Jethva | | 2 | Jayesh Jethva | | 3 | Vyom Jethva | | 4 | Ninav Jethva | +---------+---------------+
Dále vyprázdněte oprávnění a ukončete MySQL pomocí následujícího příkazu:
FLUSH PRIVILEGES; EXIT;
Připojte se k MySQL pomocí PHP MySQLi
MySQLi je rozšíření MySQL, které podporuje databáze MySQL a umožňuje uživatelům připojit se k MySQL a přistupovat k jejímu obsahu.
Nejprve vytvořte PHP skript v kořenovém adresáři webu Apache pro připojení k databázi MySQL pomocí MySQLi:
nano /var/www/html/php-mysqli-connection.php
Přidejte následující kód:
<?php $servername = "localhost"; $database = "testdb"; $username = "testuser"; $password = "password"; $table = "people"; $conn = mysqli_connect($servername, $username, $password, $database); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected to MySQL Using Mysqli Successfully"; echo "<h2>List Table Content</h2><ol>"; foreach($conn->query("SELECT content FROM $table") as $row) { echo "<li>" . $row['content'] . "</li>"; } echo "</ol>"; mysqli_close($conn); ?>
Až budete hotovi, uložte a zavřete soubor.
Nyní otevřete webový prohlížeč a otevřete skript PHP pomocí adresy URL http://ip-ip-vasho-serveru/php-mysqli-connection.php . Pokud je PHP připojeno k serveru MySQL, zobrazí se obsah tabulky na následující obrazovce:
Připojte se k MySQL pomocí PHP PDO
PDO, také nazývané „PHP Data Objects“, je rozšíření PHP používané pro připojení k databázím MySQL.
Nejprve vytvořte PHP skript v kořenovém adresáři webu Apache pro připojení k databázi MySQL pomocí PDO:
nano /var/www/html/php-pdo-connection.php
Přidejte následující kód:
<?php $servername = "localhost"; $database = "testdb"; $username = "testuser"; $password = "password"; $table = "people"; $charset = "utf8mb4"; try { $dsn = "mysql:host=$servername;dbname=$database;charset=$charset"; $pdo = new PDO($dsn, $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connected to MySQL Using PDO Successfully"; echo "<h2>List Table Content</h2><ol>"; foreach($pdo->query("SELECT content FROM $table") as $row) { echo "<li>" . $row['content'] . "</li>"; } echo "</ol>"; } catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; die(); } ?>
Až budete hotovi, uložte a zavřete soubor.
Nyní otevřete webový prohlížeč a otevřete skript PHP pomocí adresy URL http://ip-vaseho-serveru/php-pdo-connection.php . Pokud je PHP připojeno k serveru MySQL, zobrazí se obsah tabulky na následující obrazovce:
Závěr
V tomto příspěvku jsme vysvětlili dva způsoby připojení k databázi MySQL pomocí PHP. PDO i MySQLi jsou velmi užitečná rozšíření PHP. Rozšíření MySQLi se však používá pouze pro databáze MySQL, zatímco rozšíření PDO pracuje s 12 různými databázemi. Zkuste to na VPS hostingu od Atlantic.Net!