Tabla de Contenidos
Tutorial: Manejo de bases de datos MySQL con PDO
Conexión:
$hostname = "Direccion del host"; $username = "Usuario de la base"; $password = "Contraseña de la base"; $database = "Nombre de la base"; $Conexion = new PDO('mysql:host='.$hostname.';dbname='.$database.';charset=utf8', $username, $password); $Conexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Estructura base:
$Sql = "SELECT * FROM NombreTabla WHERE CampoCondicion = :Valor;"; $Consulta = $Conexion->prepare($Sql); $Consulta->bindValue(':Valor', 'Valor a poner'); $Consulta->bindParam(':NombreValor', $Valor); $Consulta->execute(); $TotalFilas = $Consulta->rowCount(); // Una sola Fila $Fila = $Consulta->fetch(); echo 'Ejemplo del registro: ' . $Fila['NombredelCampo']; // Recorrer las filas // Método 1 $Filas = $Consulta->fetchAll(); foreach($Filas as $Registro){ echo 'Ejemplo del registro: ' . $Registro['NombredelCampo'].'<br>'; } // Método 2 while ($Fila = $Consulta->fetch()){ echo $Fila['NombredelCampo'].'<br>'; }
Inserción, Modificación, Borrado:
// Para 1 registro $Sql = 'Aquí el tipo de consulta'; $Consulta = $Conexion->prepare($Sql); $Consulta->bindValue(':NombreValor', $Valor); $Consulta->execute(); // Para múltiples registros $Sql = 'Aquí el tipo de consulta'; $Consulta = $Conexion->prepare($Sql); foreach($Valores as $Valor){ $Consulta->bindParam(':NombreValor', $Valor['indiceValor']); $Consulta->execute(); }
Cerrar conexión:
unset($Conexion);
Cuando usar bindParam o bindValue.
- bindParam: Para obtener el valor de la variable en ese momento por ejemplo dentro de un bucle.
- bindValue: Cuando se va a usar un valor específico.