Guía Básica: Cómo Integrar una Base de Datos MySQL con PHP

by Janeth Kent Date: 23-09-2024

En el mundo del desarrollo web, PHP y MySQL son dos tecnologías fundamentales que suelen trabajar juntas para crear aplicaciones dinámicas y potentes. MySQL es un sistema de gestión de bases de datos relacional, mientras que PHP es un lenguaje de programación del lado del servidor. En esta guía, te mostraremos cómo integrar una base de datos MySQL con PHP de manera básica. Cubriremos desde la conexión a la base de datos hasta la ejecución de consultas y la manipulación de resultados.

Requisitos Previos

Antes de comenzar, asegúrate de tener los siguientes elementos instalados en tu entorno de desarrollo:

  1. Servidor Web: Un servidor como Apache o Nginx.
  2. PHP: Instalado y funcionando en tu servidor web.
  3. MySQL: Un servidor MySQL o MariaDB.

Además, deberías tener acceso a un editor de código y a un navegador web para probar tus scripts.

Paso 1: Crear una Base de Datos y una Tabla en MySQL

Antes de conectar tu aplicación PHP a MySQL, necesitas configurar la base de datos y las tablas que vas a usar. Aquí te mostramos cómo hacerlo utilizando MySQL desde la línea de comandos o mediante phpMyAdmin.

Usando la Línea de Comandos

  1. Accede a MySQL:

    bash

    mysql -u root -p 
    

    Ingresa la contraseña cuando se te solicite.

  2. Crear una base de datos:

    sql

    CREATE DATABASE ejemplo_db; 
          
  3. Seleccionar la base de datos:

    sql

    USE ejemplo_db; 
          
  4. Crear una tabla:

    sql

    CREATE TABLE usuarios ( id INT AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL UNIQUE ); 
          
  5. Insertar algunos datos:

    sql

    INSERT INTO usuarios (nombre, email) VALUES ('Juan Pérez', '[email protected]'); INSERT INTO usuarios (nombre, email) VALUES ('Ana Gómez', '[email protected]'); 
          

Usando phpMyAdmin

  1. Accede a phpMyAdmin a través de tu navegador.

  2. Crear una base de datos: Haz clic en "Nueva" y proporciona el nombre  ejemplo_db .

  3. Seleccionar la base de datos y crear una tabla con los campos  id nombre , y  email .

  4. Insertar datos utilizando la interfaz de phpMyAdmin.

Paso 2: Conectar PHP a MySQL

Para conectar PHP a MySQL, puedes usar la extensión  mysqli  o  PDO  (PHP Data Objects). Aquí usaremos  mysqli  para este ejemplo.

Código PHP para Conexión Básica

php

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

// Crear conexión
$conn = new mysqli($servername, $username, $password, $database);

// Verificar conexión
if ($conn->connect_error) {
    die("Conexión fallida: " . $conn->connect_error);
}
echo "Conectado exitosamente";
?>
  

Explicación del Código

  1. Variables de conexión$servername $username $password , y  $database  contienen la información necesaria para conectarse a la base de datos.

  2. Crear conexiónnew mysqli()  establece la conexión con los parámetros proporcionados.

  3. Verificar conexiónconnect_error  nos permite manejar errores si la conexión falla.

  4. Mensaje de éxito: Si la conexión es exitosa, se muestra un mensaje de confirmación.

Paso 3: Realizar Consultas a la Base de Datos

Una vez establecida la conexión, puedes ejecutar consultas para leer, insertar, actualizar o eliminar datos. Veamos cómo hacerlo.

Consultar Datos

php

  <?php
// Código de conexión aquí...

$sql = "SELECT id, nombre, email FROM usuarios";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // Salida de datos por cada fila
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Nombre: " . $row["nombre"]. " - Email: " . $row["email"]. "<br>";
    }
} else {
    echo "0 resultados";
}
$conn->close();
?>
  

Explicación del Código

  1. Consulta SQL: La variable  $sql  contiene la consulta SQL para seleccionar datos de la tabla  usuarios .

  2. Ejecutar consulta$conn->query($sql)  ejecuta la consulta.

  3. Procesar resultados: Se verifica el número de filas con  $result->num_rows . Si hay filas, se usan  fetch_assoc()  para iterar sobre los resultados.

  4. Cerrar conexión$conn->close()  cierra la conexión a la base de datos.

Insertar Datos

php

    <?php
// Código de conexión aquí...

$sql = "INSERT INTO usuarios (nombre, email) VALUES ('Carlos Ruiz', '[email protected]')";

if ($conn->query($sql) === TRUE) {
    echo "Nuevo registro creado exitosamente";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>
  

Explicación del Código

  1. Consulta SQL: La variable  $sql  contiene la consulta SQL para insertar datos en la tabla  usuarios .

  2. Ejecutar consulta$conn->query($sql)  ejecuta la consulta y se verifica si la inserción fue exitosa.

  3. Manejo de errores: Si ocurre un error, se muestra el mensaje correspondiente.

Actualizar Datos

php

    <?php
// Código de conexión aquí...

$sql = "UPDATE usuarios SET email='[email protected]' WHERE id=1";

if ($conn->query($sql) === TRUE) {
    echo "Registro actualizado exitosamente";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>
  

Explicación del Código

  1. Consulta SQL: La variable  $sql  contiene la consulta SQL para actualizar datos en la tabla  usuarios .

  2. Ejecutar consulta: Se utiliza  $conn->query($sql)  para ejecutar la consulta y se verifica el éxito de la operación.

Eliminar Datos

php

    <?php
// Código de conexión aquí...

$sql = "DELETE FROM usuarios WHERE id=1";

if ($conn->query($sql) === TRUE) {
    echo "Registro eliminado exitosamente";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>
  

Explicación del Código

  1. Consulta SQL: La variable  $sql  contiene la consulta SQL para eliminar datos de la tabla  usuarios .

  2. Ejecutar consulta: La consulta se ejecuta con  $conn->query($sql)  y se verifica si la eliminación fue exitosa.

Paso 4: Manejo de Errores y Seguridad

Manejo de Errores

Es importante manejar los errores adecuadamente para evitar problemas en producción. Asegúrate de verificar si las consultas se ejecutan correctamente y manejar cualquier error que pueda ocurrir.

Seguridad

Para evitar ataques de inyección SQL, utiliza consultas preparadas y parámetros en lugar de concatenar variables directamente en las consultas SQL.

Consultas Preparadas

php

  <?php
// Código de conexión aquí...

$stmt = $conn->prepare("INSERT INTO usuarios (nombre, email) VALUES (?, ?)");
$stmt->bind_param("ss", $nombre, $email);

// Parámetros
$nombre = 'María López';
$email = '[email protected]';
$stmt->execute();

echo "Nuevo registro creado exitosamente";

$stmt->close();
$conn->close();
?>
  

Explicación del Código

  1. Preparar consultaprepare()  prepara la consulta con parámetros placeholders  ? .

  2. Vincular parámetrosbind_param()  vincula las variables con los placeholders.

  3. Ejecutar consultaexecute()  ejecuta la consulta con los parámetros vinculados.

Conclusión

Integrar PHP con MySQL es una habilidad fundamental para el desarrollo web dinámico. En esta guía básica, hemos cubierto cómo establecer una conexión, ejecutar consultas y manejar resultados. También discutimos la importancia de manejar errores y aplicar buenas prácticas de seguridad para proteger tu aplicación de vulnerabilidades. Con estos conocimientos, estarás en camino de crear aplicaciones web robustas y seguras utilizando PHP y MySQL. ¡Feliz codificación!

 
by Janeth Kent Date: 23-09-2024 visitas : 47  
 
Janeth Kent

Janeth Kent

Licenciada en Bellas Artes y programadora por pasión. Cuando tengo un rato retoco fotos, edito vídeos y diseño cosas. El resto del tiempo escribo en MA-NO WEB DESIGN AND DEVELOPMENT.