Conexión a Bases de Datos en PHP
Conectar PHP a bases de datos es esencial para crear aplicaciones web dinámicas que puedan almacenar y recuperar información. En esta guía cubriremos los pasos para conectarse a bases de datos y realizar operaciones básicas como insertar, modificar, eliminar y consultar datos, explicando en detalle qué hace cada parte del código.
1. Conectar a MySQL Usando MySQLi
Ejemplo de Conexión:
| <?php
$servername = "localhost"; // Nombre del servidor de la base de datos
$username = "usuario"; // Nombre de usuario de la base de datos
$password = "contraseña"; // Contraseña del usuario
$database = "nombre_base_datos"; // Nombre de la base de datos
// Crear conexión
$conn = new mysqli($servername, $username, $password, $database);
// Comprobar conexión
if ($conn->connect_error) {
die("Error de conexión: " . $conn->connect_error); // Termina la ejecución si la conexión falla
}
echo "Conexión exitosa"; // Muestra un mensaje si la conexión es exitosa
?>
|
2. Operaciones Básicas
Insertar Datos
Este bucle inserta cinco registros en la tabla usuarios.
| <?php
for ($i = 1; $i <= 5; $i++) {
$nombre = "Usuario $i"; // Genera un nombre para cada usuario
$email = "usuario$i@example.com"; // Genera un email para cada usuario
$sql = "INSERT INTO usuarios (nombre, email) VALUES ('$nombre', '$email')";
if ($conn->query($sql) === TRUE) {
echo "Registro $i insertado con éxito<br>";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
?>
|
Modificar Datos
Este bucle actualiza los correos electrónicos de los cinco usuarios insertados anteriormente.
| <?php
for ($i = 1; $i <= 5; $i++) {
$nuevo_email = "modificado$i@example.com"; // Nuevo email para cada usuario
$sql = "UPDATE usuarios SET email='$nuevo_email' WHERE nombre='Usuario $i'";
if ($conn->query($sql) === TRUE) {
echo "Registro $i actualizado con éxito<br>";
} else {
echo "Error actualizando el registro $i: " . $conn->error;
}
}
?>
|
Eliminar Datos
Este bucle elimina los registros de los cinco usuarios.
| <?php
for ($i = 1; $i <= 5; $i++) {
$sql = "DELETE FROM usuarios WHERE nombre='Usuario $i'";
if ($conn->query($sql) === TRUE) {
echo "Registro $i eliminado con éxito<br>";
} else {
echo "Error eliminando el registro $i: " . $conn->error;
}
}
?>
|
Consultar Datos
Este código selecciona y muestra todos los registros de la tabla usuarios.
| <?php
$sql = "SELECT id, nombre, email FROM usuarios";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"] . " - Nombre: " . $row["nombre"] . " - Email: " . $row["email"] . "<br>";
}
} else {
echo "0 resultados";
}
?>
|
3. Conexión usando PDO
Ejemplo de Conexión:
| <?php
$dsn = 'mysql:host=localhost;dbname=nombre_base_datos'; // Fuente de datos
$username = 'usuario'; // Nombre de usuario
$password = 'contraseña'; // Contraseña
try {
$pdo = new PDO($dsn, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Activar excepciones en errores
echo "Conexión exitosa";
} catch (PDOException $e) {
echo "Error de conexión: " . $e->getMessage();
}
?>
|
4. Operaciones con PDO
Insertar Datos
Inserta cinco registros en la tabla usuarios.
| <?php
for ($i = 1; $i <= 5; $i++) {
$stmt = $pdo->prepare("INSERT INTO usuarios (nombre, email) VALUES (:nombre, :email)");
$stmt->execute(['nombre' => "Usuario $i", 'email' => "usuario$i@example.com"]);
echo "Registro $i insertado con éxito<br>";
}
?>
|
Modificar Datos
Actualiza los correos electrónicos de los cinco usuarios.
<?php
for ($i = 1; $i <= 5; $i++) {
$stmt = $pdo->prepare("UPDATE usuarios SET email = :email WHERE nombre = :nombre");
$stmt->execute(['email' => "modificado$i@example.com", 'nombre' => "Usuario $i"]);
echo "Registro $i actualizado con éxito<br>";
}
?>
Eliminar Datos
Elimina los registros de los cinco usuarios.
| <?php
for ($i = 1; $i <= 5; $i++) {
$stmt = $pdo->prepare("DELETE FROM usuarios WHERE nombre = :nombre");
$stmt->execute(['nombre' => "Usuario $i"]);
echo "Registro $i eliminado con éxito<br>";
}
?>
|
Consultar Datos
Selecciona y muestra todos los registros de la tabla usuarios.
| <?php
$stmt = $pdo->query("SELECT id, nombre, email FROM usuarios");
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "ID: " . $row['id'] . " - Nombre: " . $row['nombre'] . " - Email: " . $row['email'] . "<br>";
}
?>
|
5. Cerrar la Conexión
MySQLi
| <?php
$conn->close(); // Cierra la conexión con MySQLi
?>
|
PDO
| <?php
$pdo = null; // Cierra la conexión con PDO
?>
|