GNU/Linux >> Linux Esercitazione >  >> Linux

Come connettersi a MySQL usando PHP

MySQL gratuito e open source è uno dei più popolari sistemi di gestione di database relazionali. Viene utilizzato per memorizzare il contenuto di siti Web e applicazioni Web. Se desideri integrare un'applicazione Web basata su PHP con MySQL, dovrai verificare se PHP è in grado di connettersi a MySQL ed eseguire query sul database. Per recuperare i dati da MySQL, è necessario stabilire una connessione tra il database e uno script PHP. Esistono due modi per stabilire una connessione tra il database e uno script PHP.

In questo post spiegheremo:

  • Come connettersi a MySQL utilizzando l'estensione PHP MySQLi
  • Come connettersi a MySQL utilizzando PHP Data Objects (PDO)

Prerequisiti

  • Un server che esegue Linux sulla piattaforma Atlantic.Net Cloud
  • Una password di root configurata sul tuo server

Crea server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo un sistema operativo Linux basato su Ubuntu o Debian con almeno 1 GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Installa lo stack LAMP

Prima di iniziare, è necessario installare uno stack LAMP sul tuo server, se non è installato puoi installarlo con il seguente comando:

apt-get install apache2 mysql-server php libapache2-mod-php php-mysqli php-pdo -y

Una volta installato lo stack LAMP, avvia e abilita il servizio Apache e MySQL:

systemctl start apache2 mysql
systemctl enable apache2 mysql

Configura il database MySQL

Successivamente, dovrai creare un database di test, una tabella con alcuni dati su cui eseguire query per il suo contenuto utilizzando uno script PHP.

Innanzitutto, connettiti alla shell MySQL con il seguente comando:

mysql

Una volta connesso, crea un database e un utente con il seguente comando:

CREATE DATABASE testdb;
CREATE USER 'testuser'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

Quindi, concedi tutti i privilegi al database con il seguente comando:

GRANT ALL ON testdb.* TO 'testuser'@'%';

Quindi, cambia il database in testdb e crea una tabella denominata people:

USE testdb;
CREATE TABLE people (
	item_id INT AUTO_INCREMENT,
	content VARCHAR(255),
	PRIMARY KEY(item_id)
);

Quindi, inserisci alcuni dati nella tabella:

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");

Successivamente, verifica tutti i dati inseriti con il seguente comando:

SELECT * FROM people;

Otterrai il seguente output:

+---------+---------------+
| item_id | content       |
+---------+---------------+
|       1 | Hitesh Jethva |
|       2 | Jayesh Jethva |
|       3 | Vyom Jethva   |
|       4 | Ninav Jethva  |
+---------+---------------+

Quindi, svuota i privilegi ed esci da MySQL con il seguente comando:

FLUSH PRIVILEGES;
EXIT;

Connettiti a MySQL usando PHP MySQLi

MySQLi è un'estensione MySQL che supporta i database MySQL e consente agli utenti di connettersi a MySQL e accedere al suo contenuto.

Innanzitutto, crea uno script PHP all'interno della directory principale Web di Apache per la connessione a un database MySQL utilizzando MySQLi:

nano /var/www/html/php-mysqli-connection.php

Aggiungi il seguente codice:

<?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);

?>

Salva e chiudi il file quando hai finito.

Ora apri il tuo browser web e accedi allo script PHP utilizzando l'URL http://your-server-ip/php-mysqli-connection.php . Se PHP è connesso al server MySQL, otterrai il contenuto della tabella nella schermata seguente:

Connettiti a MySQL usando PHP PDO

PDO, chiamato anche "PHP Data Objects", è un'estensione PHP utilizzata per la connessione ai database MySQL.

Innanzitutto, crea uno script PHP all'interno della directory principale Web di Apache per la connessione a un database MySQL utilizzando PDO:

nano /var/www/html/php-pdo-connection.php

Aggiungi il seguente codice:

<?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();
}

?>

Salva e chiudi il file quando hai finito.

Ora apri il tuo browser web e accedi allo script PHP utilizzando l'URL http://your-server-ip/php-pdo-connection.php . Se PHP è connesso al server MySQL, otterrai il contenuto della tabella nella schermata seguente:

Conclusione

In questo post, abbiamo spiegato due modi per connettersi a un database MySQL usando PHP. Sia PDO che MySQLi sono estensioni PHP molto utili. Tuttavia, l'estensione MySQLi viene utilizzata solo per i database MySQL, mentre l'estensione PDO funziona con 12 database diversi. Provalo sull'hosting VPS di Atlantic.Net!


Linux
  1. Ssh:come connettersi a un PC tramite un altro PC utilizzando Ssh?

  2. Come connettersi in remoto a MySQL

  3. Come installare TicketsCAD su CentOS

  4. Come installare LAMP Apache, MySQL, PHP su Debian 11

  5. Come configurare Nginx per eseguire PHP utilizzando PHP-FPM

Come connettersi a MySQL in remoto in cPanel?

Come eseguire il backup del database MySQL utilizzando cPanel?

Come installare LAMP su un server Ubuntu 15.04

Come distribuire un'applicazione PHP con Nginx e MySQL utilizzando Docker e Docker Compose

3 metodi per connettersi a MySQL da PHP usando il codice di esempio

Come installare Magento 2.4.5 su Ubuntu 22.04