GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo conectarse a MySQL usando PHP

Introducción

Para acceder y agregar contenido a un MySQL base de datos, primero debe establecer una conexión entre la base de datos y un PHP guión.

En este tutorial, aprenda a usar MySQLi Extension y PHP Data Objects para conectarse a MySQL . Las funciones mysql_ heredadas tradicionales están en desuso y no las cubriremos en esta guía.

Requisitos previos

  • Privilegios especiales de CREAR
  • Una base de datos MySQL
  • Una extensión MySQLi o PDO

2 formas de conectarse a la base de datos MySQL usando PHP

Hay dos formas populares de conectarse a una base de datos MySQL usando PHP:

  1. Con Extensión MySQLi de PHP
  2. Con objetos de datos PHP (PDO)

La guía también incluye explicaciones sobre las credenciales utilizadas en los scripts de PHP y los posibles errores que puede encontrar al utilizar MySQLi y PDO.

Opción 1:conectarse a MySQL con la extensión mejorada de MySQL

MySQLi es una extensión que solo admite bases de datos MySQL. Permite el acceso a las nuevas funcionalidades que se encuentran en los sistemas MySQL (versión 4.1. y superior), proporcionando una interfaz orientada a objetos y procedimental. Admite sentencias preparadas del lado del servidor, pero no sentencias preparadas del lado del cliente.

Se incluye la extensión MySQLi PHP versión 5 y posteriores.

El script PHP para conectarse a una base de datos MySQL utilizando el enfoque de procedimiento MySQLi es el siguiente:

<?php
$servername = "localhost";
$database = "database";
$username = "username";
$password = "password";

// Create connection

$conn = mysqli_connect($servername, $username, $password, $database);

// Check connection

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

echo “Connected successfully”;

mysqli_close($conn);

?>

Explicación de las credenciales

La primera parte del script son cuatro variables (nombre del servidor, base de datos, nombre de usuario y contraseña) y sus respectivos valores. Estos valores deben corresponder a los detalles de su conexión.

La siguiente es la función principal de PHP mysqli_connect() . Establece una conexión con la base de datos especificada.

Lo siguiente es una “sentencia if .” Es la parte del código que muestra si se estableció la conexión. Cuando la conexión falla, da el mensaje Error de conexión . El morir la función imprime el mensaje y luego sale fuera del guión.

Si la conexión es exitosa, muestra "Conectado con éxito .”

Cuando finaliza el script, también se cierra la conexión con la base de datos. Si desea finalizar el código manualmente, utilice mysqli_close función.

Opción 2:conectarse a MySQL con PDO

Objetos de datos PHP (PDO) es una extensión que sirve como interfaz para conectarse a bases de datos. A diferencia de MySQLi, puede realizar cualquier función de base de datos y no se limita a MySQL. Permite flexibilidad entre bases de datos y es más general que MySQL. PDO admite declaraciones preparadas tanto del lado del servidor como del cliente.

El código PHP para conectarse a una base de datos MySQL a través de la extensión PDO es:

<?php

$servername = "localhost";
$database = "database";
$username = "username";
$password = "password";
$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 “Connection Okay”;

return $pdo

}

catch (PDOException $e)

{
echo “Connection failed: ”. $e->getMessage();
}

?>

Sintaxis de credenciales

Primero, tenemos cinco variables (nombre del servidor, base de datos, nombre de usuario, contraseña y conjunto de caracteres) y sus valores. Estos valores deben corresponder a los detalles de su conexión.

El nombre del servidor será localhost . Si está conectado a un servidor en línea, escriba el nombre del servidor de ese servidor.

La variable juego de caracteres le dice a la base de datos en qué codificación recibirá y enviará datos. El estándar recomendado es utf8mb4 .

Probar y atrapar bloques

El gran activo de PDO es que tiene una excepción class para encargarse de cualquier problema potencial en las consultas de la base de datos. Resuelve estos problemas incorporando try and catch bloques.

Si surge un problema al intentar conectarse, deja de ejecutarse e intenta atrapar y resolver el problema. Atrapar los bloques se pueden configurar para mostrar mensajes de error o ejecuta un código alternativo .

El primer parámetro en try and catch el bloque es DSN, que significa nombre de fuente de datos (base) . Es crucial ya que define el tipo y el nombre de la base de datos, junto con cualquier otra información adicional.

En este ejemplo, estamos usando una base de datos MySQL. Sin embargo, PDO admite varios tipos de bases de datos. Si tiene una base de datos diferente, reemplace esa parte de la sintaxis (mysql ) con la base de datos que está utilizando.

El siguiente es el DOP variable. Esta variable va a establecer una conexión con la base de datos. Tiene tres parámetros:

  1. El nombre de la fuente de datos (dsn)
  2. El nombre de usuario de su base de datos
  3. La contraseña de su base de datos

El siguiente es el método setAttribute agregando dos parámetros al PDO:

  1. PDO::ATTR_ERRMODE
  2. PDO::ERRMODE_EXCEPTION

Este método le indica al PDO que ejecute una excepción en caso de que una consulta falle.

Agregue el eco "Conexión bien .” para confirmar que se ha establecido una conexión.

Volver la variable PDO para conectarse a la base de datos.

Después de devolver la variable PDO, defina la PDOException en la captura bloque indicándole que muestre un mensaje cuando falle la conexión.

Posibles errores con MySQLi y PDO

Contraseña incorrecta

La contraseña en el código PHP debe corresponder con la de la base de datos. Si los dos no coinciden, no se puede establecer una conexión con la base de datos. Recibirá un mensaje de error que dice la conexión ha fallado .

Posibles soluciones :

  1. Compruebe los detalles de la base de datos para asegurarse de que la contraseña sea correcta.
  2. Asegúrese de que haya un usuario asignado a la base de datos.

No se puede conectar al servidor MySQL

Es posible que PHP no pueda conectarse al servidor MySQL si no se reconoce el nombre del servidor. Asegúrese de que el nombre del servidor está establecido en localhost .

En caso de otros errores, asegúrese de consultar el error_log archivo para ayudar cuando se trata de resolver cualquier problema. El archivo se encuentra en la misma carpeta donde se ejecuta el script.


Cent OS
  1. Cómo instalar el servidor de base de datos MySQL 8 en CentOS 8

  2. Cómo crear una base de datos en MySQL usando la línea de comandos

  3. Cómo conectarse de forma remota a MySQL

  4. Cómo instalar la base de datos MySQL usando Yum groupinstall en CentOS

  5. Cómo crear una base de datos MySQL usando la API de cPanel

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

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

Cómo crear una base de datos en MySQL

Cómo crear una base de datos usando el Asistente para bases de datos MySQL

Cómo conectarse a MySQL usando PHP

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