IFCD0210/Practicas/Practicas_SQL/codigo/INTRO_SQL_pasos_consulta_PHP.php
2024-03-14 13:52:33 +01:00

81 lines
2.9 KiB
PHP

<?php
//Pasos básicos para la realización de una consulta SQL a la base de datos desde PHP
// Configuración de la conexión a la base de datos
$nombre_servidor = "localhost";
$nombre_usuario = "root";
$contraseña = "Logomark8";
$nombre_base_datos = "tienda";
// Desactivar los informes de errores de MySQLi
mysqli_report(MYSQLI_REPORT_OFF);
// Establecer la conexión
// mysqli_connect() devuelve un identificador de la conexión y si falla devuelve false.
$conexion = mysqli_connect($nombre_servidor, $nombre_usuario, $contraseña, $nombre_base_datos);
// Verificar la conexión----------------------
if (!$conexion) {
//mysqli_conexionect_error() nos da información(una cadena) del error de conexión
exit("Error de conexión: " . mysqli_connect_error());
}
// Crear y ejecutar la consulta
$consulta_sql = "SELECT * FROM productos";
// mysqli_query() Dos parametros indentificador de conexión y consulta.
// Si la consulta es SELECT devuelve las filas de datos
// Si la consulta es INSERT, UPDATE, DELETE, etc devolverá un valor boleano.
$resultado = mysqli_query($conexion, $consulta_sql);
//var_dump($resultado);
// Manejar el error de consulta
if (!$resultado) {
exit("Error al ejecutar la consulta: " . mysqli_error($conexion));
}
// Procesar los resultados
// mysqli_fetch_assoc(): Retorna una fila de resultados como un array asociativo.
var_dump(mysqli_fetch_assoc($resultado));
echo "<br>";
// mysqli_fetch_array(): Retorna una fila de resultados como un array asociativo, numérico, o ambos.
//mysqli_fetch_array(mysqli_result $resultado, int $tipo = MYSQLI_BOTH): array|false
var_dump(mysqli_fetch_array($resultado));
echo "<br>";
// mysqli_fetch_row(): Retorna una fila de resultados como un array numérico.
var_dump(mysqli_fetch_row($resultado));
echo "<br>";
// mysqli_fetch_object(): Retorna una fila de resultados como un objeto.
var_dump(mysqli_fetch_object($resultado));
echo "<br>";
// mysqli_data_seek(): Mueve el puntero interno del resultado a una fila específica.
mysqli_data_seek($resultado,3);
var_dump(mysqli_fetch_assoc($resultado));
echo "<br>";
// mysqli_field_count(): Retorna el número de columnas en el resultado.
echo mysqli_field_count($conexion);
echo "<br>";
// mysqli_num_rows(): Retorna el número de filas en el resultado.
echo mysqli_num_rows($resultado);
echo "<br>";
// mysqli_free_result(): Libera la memoria asociada con el resultado.
// mysqli_free_result($resultado);
// Comprobar que no esta vacio el resultado
if (mysqli_num_rows($resultado) > 0) {
while($fila = mysqli_fetch_assoc($resultado)) {
echo "Campo1: " . $fila["producto_id"]. " - Campo2: " . $fila["nombre"]. "<br>";
}
} else {
echo "No se encontraron resultados";
}
// Cerrar la conexión
mysqli_close($conexion);
?>