Error: No puede conectarse con la base de datos. {$e->getMessage()}
\n"; exit; } } // SQLITE: FUNCIÓN DE BORRADO Y CREACIÓN DE TABLA function borraTodo() { global $pdo, $cfg; $consulta = "DROP TABLE IF EXISTS $cfg[tablaPersonas]"; if (!$pdo->query($consulta)) { print "Error al borrar la tabla. SQLSTATE[{$pdo->errorCode()}]: {$pdo->errorInfo()[2]}
\n"; } else { print "Tabla borrada correctamente (si existía).
\n"; } print "\n"; $consulta = "CREATE TABLE $cfg[tablaPersonas] ( id INTEGER PRIMARY KEY, nombre VARCHAR($cfg[tablaPersonasTamNombre]) COLLATE NOCASE, apellidos VARCHAR($cfg[tablaPersonasTamApellidos]) COLLATE NOCASE )"; if (!$pdo->query($consulta)) { print "Error al crear la tabla. SQLSTATE[{$pdo->errorCode()}]: {$pdo->errorInfo()[2]}
\n"; } else { print "Tabla creada correctamente.
\n"; } print "\n"; } // FUNCIÓN DE INSERCIÓN DE REGISTRO function insertaRegistro($nombre, $apellidos) { global $pdo, $cfg; $consulta = "INSERT INTO $cfg[tablaPersonas] (nombre, apellidos) VALUES (:nombre, :apellidos)"; $resultado = $pdo->prepare($consulta); if (!$resultado) { print "Error al preparar la consulta. SQLSTATE[{$pdo->errorCode()}]: {$pdo->errorInfo()[2]}
\n"; } elseif (!$resultado->execute([":nombre" => $nombre, ":apellidos" => $apellidos])) { print "Error al ejecutar la consulta. SQLSTATE[{$pdo->errorCode()}]: {$pdo->errorInfo()[2]}
\n"; } else { print "Registro creado correctamente.
\n"; print "\n"; } } // FUNCIÓN DE CONTEO DE REGISTROS function cuentaRegistros() { global $pdo, $cfg; $consulta = "SELECT COUNT(*) FROM $cfg[tablaPersonas]"; $resultado = $pdo->query($consulta); if (!$resultado) { print "Error en la consulta. SQLSTATE[{$pdo->errorCode()}]: {$pdo->errorInfo()[2]}
\n"; } else { print "La tabla contiene {$resultado->fetchColumn()} registro(s).
\n"; print "\n"; } } // FUNCIÓN DE SELECCIÓN DE TODOS LOS REGISTROS function muestraRegistros() { global $pdo, $cfg; $consulta = "SELECT * FROM $cfg[tablaPersonas]"; $resultado = $pdo->query($consulta); if (!$resultado) { print "Error en la consulta. SQLSTATE[{$pdo->errorCode()}]: {$pdo->errorInfo()[2]}
\n"; } else { print "Registro(s) obtenido(s):
\n"; print "- \n";
foreach ($resultado as $registro) {
print "
- $registro[id] - $registro[nombre] - $registro[apellidos] \n"; } print "
Error al preparar la consulta. SQLSTATE[{$pdo->errorCode()}]: {$pdo->errorInfo()[2]}
\n"; } elseif (!$resultado->execute([":nombre" => $nombre, ":apellidos" => $apellidos, ":id" => $id])) { print "Error al ejecutar la consulta. SQLSTATE[{$pdo->errorCode()}]: {$pdo->errorInfo()[2]}
\n"; } else { print "Registro modificado correctamente.
\n"; print "\n"; } } // FUNCIÓN DE BORRADO DE REGISTROS function borraRegistros($id) { global $pdo, $cfg; foreach ($id as $indice => $valor) { $consulta = "DELETE FROM $cfg[tablaPersonas] WHERE id = :indice"; $resultado = $pdo->prepare($consulta); if (!$resultado) { print "Error al preparar la consulta. SQLSTATE[{$pdo->errorCode()}]: {$pdo->errorInfo()[2]}
\n"; } elseif (!$resultado->execute([":indice" => $indice])) { print "Error al ejecutar la consulta. SQLSTATE[{$pdo->errorCode()}]: {$pdo->errorInfo()[2]}
\n"; } else { print "Registro borrado correctamente (si existía).
\n"; print "\n"; } } } // Variables configurables por el administrador de la aplicación // Configuración para SQLite $cfg["sqliteDatabase"] = "/tmp/pdo-2.sqlite"; // Ubicación de la base de datos // Tamaño de los campos en la tabla Personas $cfg["tablaPersonasTamNombre"] = 40; // Tamaño de la columna Personas > Nombre $cfg["tablaPersonasTamApellidos"] = 60; // Tamaño de la columna Personas > Apellidos // Variables configurables por el programador de la aplicación // Nombres de las tablas $cfg["tablaPersonas"] = "personas"; // Nombre de la tabla Personas $pdo = conectaDb(); borraTodo(); insertaRegistro("Pepito", "Conejo"); cuentaRegistros(); muestraRegistros(); modificaRegistro(1, "Pepita", "Conejo"); muestraRegistros(); insertaRegistro("Numa", "Nigerio"); cuentaRegistros(); muestraRegistros(); borraRegistros([1 => "on"]); muestraRegistros(); print "