CRUD Completo con PHP y MySQL: Tutorial Paso a Paso

¿Qué es un CRUD?

CRUD son las siglas de Create, Read, Update, Delete. Son las cuatro operaciones básicas que toda aplicación necesita para gestionar datos.

Configuración de la Base de Datos

CREATE DATABASE IF NOT EXISTS mi_crud;
USE mi_crud;

CREATE TABLE productos (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(255) NOT NULL,
    precio DECIMAL(10,2) NOT NULL,
    descripcion TEXT,
    fecha_creacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Conexión con PDO

 PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    ];
    return new PDO($dsn, "root", "", $opciones);
}
?>

Crear (INSERT)

$pdo = getConexion();
$sql = "INSERT INTO productos (nombre, precio, descripcion) 
        VALUES (:nombre, :precio, :descripcion)";
$stmt = $pdo->prepare($sql);
$stmt->execute([
    ":nombre" => $_POST["nombre"],
    ":precio" => $_POST["precio"],
    ":descripcion" => $_POST["descripcion"],
]);
echo "Producto creado con ID: " . $pdo->lastInsertId();

Leer (SELECT)

$pdo = getConexion();
$stmt = $pdo->query("SELECT * FROM productos ORDER BY fecha_creacion DESC");
$productos = $stmt->fetchAll();

foreach ($productos as $p) {
    echo "{$p['nombre']} - ${$p['precio']}";
}

Actualizar (UPDATE)

$pdo = getConexion();
$sql = "UPDATE productos SET nombre = :nombre, precio = :precio 
        WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->execute([
    ":nombre" => "Nuevo Nombre",
    ":precio" => 29.99,
    ":id" => 1,
]);

Eliminar (DELETE)

$pdo = getConexion();
$stmt = $pdo->prepare("DELETE FROM productos WHERE id = :id");
$stmt->execute([":id" => 1]);

Conclusión

Un CRUD es la base de cualquier aplicación web. Con PDO y prepared statements, tu código será seguro y eficiente.

🤖 Asistente Virtual
¡Hola! 👋

¿En qué te puedo ayudar hoy?