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