Código SQL:
Ver originalSELECT Usuarios.usuario, Productos.producto, Items.item
FROM Usuarios INNER JOIN
Productos ON Usuarios.codUsuario = Productos.codUsuario INNER JOIN
Items ON Productos.codProducto = Items.codProducto;
Eso te devuelve un arreglo de "filas" que a su vez pueden ser objetos u otros arrays con los campos (columnas). Eso siempre es asi al menos con la vieja extension 'mysql' hasta para la consulta mas simple.
Con 'MySQLi' tu recibes un objeto resultado al que le puedes solicitar te devuelva objetos registro o bien un arreglo asociativo o no-asociativo con los campos.
Código PHP:
Ver original<?php
/*
Ejemplo de uso de mysqli
100% POO -valido desde php 5.4-
@author: italico76
*/
$mysqli = @new mysqli('localhost', 'root', 'tu pass', 'tu db');
if ($mysqli->connect_errno)
die('Connect Error: ' . $mysqli->connect_errno);
$query = "SELECT * FROM tu_tabla";
if ($result = $mysqli->query($query)) {
/* obtener array asociativo */
while ($row = $result->fetch_assoc()) {
printf ("%s (%s)\n", $row["nomrbe_campo"], $row["otro_campo"]); }
/* liberar el resultset */
$result->free();
}
/* cerrar la conexión */
$mysqli->close();
Puedes obtener objetos-registros como te decia cambiando muy poco, ejemplo:
Código PHP:
Ver original/* o como... objetos */
while ($row = $result->fetch_object()) {
printf ("%s (%s)\n", $row->post_title, $row->post_date); }
O... si quieres no ves un array mas... mira este ejemplo que te hice: :)
Código PHP:
Ver original<?php
$mysqli = @new mysqli('localhost', 'root', 'xxxxxxxxxx', 'xxxxx');
if ($mysqli->connect_errno)
die('Connect Error: ' . $mysqli->connect_errno);
$query = "SELECT * FROM wp_posts";
if ($result = $mysqli->query($query)) {
foreach ($result as $row)
{
$row = (object) $row;
printf ("%s (%s)\n", $row->post_title, $row->post_date); }
/* liberar el resultset */
$result->free();
}
/* cerrar la conexión */
$mysqli->close();
Ojo funciona desde php 5.4 el ultimo ejemplo porque es desde cuando se implementa la interfaz Iterator en mysql_result object