A continuación se verá como extraer filas en un consulta mysqli con tres funciones distintas, aunque iguales en el resultado.
mysqli_fetch_array ... acepta tanto la forma asociativa, como la indexación: $fila["campo"] ó $fila[index]
mysqli_fetch_assoc ... se accede al campo mediante una forma asociativa: $fila["campo"]
mysqli_fetch_rows ... se accede al campo mediante su número index: $fila[index]
Suponiendo que tienes una base de datos llamada "productos" y una tabla llamada "productos" con 3 campos "id", "producto" y "precio" y algunos registros en la tabla.
El código del ejemplo es el siguiente ...
<?php /* http://php-estudios.blogspot.com */ //Maneras de extraer filas con funciones mysqli //Datos de conexión $mysqli_nombre = "root"; $mysqli_pass = "pass"; $mysqli_host = "localhost"; $mysqli_DB = "productos"; //Establece la conexión con la base de datos... $conexion = new mysqli($mysqli_host, $mysqli_nombre, $mysqli_pass, $mysqli_DB); //Capturar error if ($conexion->connect_error) { echo "Ha ocurrido un error: " . $conexion->connect_error . "Número del error: " . $conexion->connect_errno; } /////////////////////////////////////////////////////////////////////////////////////// $consulta = "SELECT producto, precio FROM productos"; $resultado = $conexion->query($consulta); //mysqli_fetch_array ... acepta tanto la forma asociativa, como la indexación //en este ejemplo se hace uso del nombre del campo, pero también sería válido //hacerlos a través del index 0 y 1 echo "<p>CON LA FUNCIÓN mysqli_fetch_array()</p>"; while($fila = $resultado->fetch_array()) { echo "<p>Producto:".$fila["producto"]." Precio:".$fila["precio"]."€</p>"; } ///////////////////////////////////////////////////////////////////////////////////////// $consulta = "SELECT producto, precio FROM productos"; $resultado = $conexion->query($consulta); //mysqli_fetch_assoc se accede al campo mediante de forma asociativa. echo "<p>CON LA FUNCIÓN mysqli_fetch_assoc()</p>"; while($fila = $resultado->fetch_assoc()) { echo "<p>Producto:".$fila["producto"]." Precio:".$fila["precio"]."€</p>"; } ///////////////////////////////////////////////////////////////////////////////////////// $consulta = "SELECT producto, precio FROM productos"; $resultado = $conexion->query($consulta); //mysqli_fetch_rows se accede al campo mediante su número index, en // este caso 0 => producto y 1 => precio. echo "<p>CON LA FUNCIÓN mysqli_fetch_row()</p>"; while($fila = $resultado->fetch_row()) { echo "<p>Producto:".$fila[0]." Precio:".$fila[1]."€</p>"; } ///////////////////////////////////////////////////////////////////////////////////////// //Cerrar la conexión mysqli_close($conexion); ?>
No hay comentarios:
Publicar un comentario