¿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.