GNU/Linux >> Znalost Linux >  >> Linux

Jak se připojit k MySQL pomocí PHP

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!


Linux
  1. Ssh – Jak se připojit k počítači přes jiný počítač pomocí Ssh?

  2. Jak nainstalovat TicketsCAD na CentOS

  3. Jak nainstalovat LAMP Apache, MySQL, PHP na Debian 11

  1. Jak se vzdáleně připojit k MySQL

  2. Jak nakonfigurovat Nginx pro spouštění PHP pomocí PHP-FPM

  3. Nelze se připojit k MySQL pomocí 'localhost', ale pomocí '127.0.0.1' je to v pořádku?

  1. Jak se připojit k MySQL pomocí PHP

  2. Jak zobrazit uživatele v MySQL pomocí Linuxu

  3. Jak nainstalovat Nginx + PHP5-FPM + MySQL na LinuxMint 18 / LinuxMint 17