GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo conectarse a MySQL usando PHP

MySQL gratuito y de código abierto es uno de los sistemas de administración de bases de datos relacionales más populares. Se utiliza para almacenar el contenido de sitios web y aplicaciones web. Si desea integrar una aplicación web basada en PHP con MySQL, deberá probar si PHP puede conectarse a MySQL y ejecutar consultas de base de datos. Para recuperar datos de MySQL, debe establecer una conexión entre la base de datos y un script PHP. Hay dos formas de establecer una conexión entre la base de datos y un script PHP.

En esta publicación, explicaremos:

  • Cómo conectarse a MySQL usando la extensión PHP MySQLi
  • Cómo conectarse a MySQL usando PHP Data Objects (PDO)

Requisitos

  • Un servidor que ejecuta Linux en Atlantic.Net Cloud Platform
  • Una contraseña de root configurada en su servidor

Crear servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo un sistema operativo Linux basado en Ubuntu o Debian con al menos 1 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Instalar la pila LAMP

Antes de comenzar, se debe instalar una pila LAMP en su servidor. Si no está instalada, puede instalarla con el siguiente comando:

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

Una vez que la pila LAMP esté instalada, inicie y habilite el servicio Apache y MySQL:

systemctl start apache2 mysql
systemctl enable apache2 mysql

Configurar base de datos MySQL

A continuación, deberá crear una base de datos de prueba, una tabla con algunos datos para consultar su contenido mediante un script PHP.

Primero, conéctese al shell de MySQL con el siguiente comando:

mysql

Una vez que esté conectado, cree una base de datos y un usuario con el siguiente comando:

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

A continuación, otorgue todos los privilegios a la base de datos con el siguiente comando:

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

A continuación, cambie la base de datos a testdb y cree una tabla llamada people:

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

A continuación, inserte algunos datos en la tabla:

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

A continuación, verifique todos los datos insertados con el siguiente comando:

SELECT * FROM people;

Obtendrá el siguiente resultado:

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

A continuación, elimine los privilegios y salga de MySQL con el siguiente comando:

FLUSH PRIVILEGES;
EXIT;

Conectarse a MySQL usando PHP MySQLi

MySQLi es una extensión de MySQL que admite bases de datos MySQL y permite a los usuarios conectarse a MySQL y acceder a su contenido.

Primero, cree un script PHP dentro del directorio raíz web de Apache para conectarse a una base de datos MySQL usando MySQLi:

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

Agrega el siguiente código:

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

?>

Guarde y cierre el archivo cuando haya terminado.

Ahora, abra su navegador web y acceda al script PHP usando la URL http://your-server-ip/php-mysqli-connection.php . Si PHP está conectado al servidor MySQL, obtendrá el contenido de la tabla en la siguiente pantalla:

Conéctese a MySQL usando PHP PDO

PDO, también llamado "Objetos de datos de PHP", es una extensión de PHP utilizada para conectarse a bases de datos MySQL.

Primero, cree un script PHP dentro del directorio raíz web de Apache para conectarse a una base de datos MySQL usando PDO:

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

Agrega el siguiente código:

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

?>

Guarde y cierre el archivo cuando haya terminado.

Ahora, abra su navegador web y acceda al script PHP usando la URL http://your-server-ip/php-pdo-connection.php . Si PHP está conectado al servidor MySQL, obtendrá el contenido de la tabla en la siguiente pantalla:

Conclusión

En esta publicación, explicamos dos formas de conectarse a una base de datos MySQL usando PHP. Tanto PDO como MySQLi son extensiones de PHP muy útiles. Sin embargo, la extensión MySQLi solo se usa para bases de datos MySQL, mientras que la extensión PDO funciona con 12 bases de datos diferentes. ¡Pruébelo en alojamiento VPS de Atlantic.Net!


Linux
  1. Ssh:¿cómo conectarse a una PC a través de otra PC usando Ssh?

  2. Cómo conectarse de forma remota a MySQL

  3. Cómo instalar TicketsCAD en CentOS

  4. Cómo instalar LAMP Apache, MySQL, PHP en Debian 11

  5. ¿No se puede conectar a MySQL usando 'localhost' pero usando '127.0.0.1' está bien?

¿Cómo conectarse a MySQL de forma remota en cPanel?

¿Cómo hacer una copia de seguridad de la base de datos MySQL usando cPanel?

Cómo instalar LAMP en un servidor Ubuntu 15.04

Cómo implementar una aplicación PHP con Nginx y MySQL usando Docker y Docker Compose

3 métodos para conectarse a MySQL desde PHP usando un código de ejemplo

Cómo instalar Magento 2.4.5 en Ubuntu 22.04