Query sin resultado!!!!!

Ezequiel
25 de Diciembre del 2005
Amigos:

Tengo una consulta que me tiene que traer una lista de clientes como resultado del query. Previamente hicew un count del resultado con la función $numfil= mysql_num_rows($res) y como resultado me devuelve 19, lo que implica que el query en cuestión debería devolverme 19 registros. El tema es que cuando lo ejecuto, me trae 19 blancos. Es decir que no me trae ningún valor en el resultado, pero "reconoce" que deberían ser 19. VEo que de alguna manera los trae porque le incluí la palabra "cliente" antes y me devuelve 19 veces la palabra "cliente".Les copio el código a continuación y les agradeceré cualquier ayuda.

Zek!

<?PHP
echo("<center>");
echo("Sucursal $suc");
echo("<br>");

$dbase = mysql_connect("localhost", miuser, mipass);
mysql_select_db(historia,$dbase);

$res = mysql_query("SELECT *
FROM `tabla1`
WHERE oficial_id =17", $dbase);

$numfil= mysql_num_rows($res);
echo('<BR>');
echo('Hay '. $numfil .' clientes.');
echo('<br>');
while($row = mysql_fetch_array($res))
{

echo('Nombre: '. $row[nombre]);
echo('<br>');

}

?>

Califa
25 de Diciembre del 2005
Me parece que el problema es que te faltan las comillas cuando escribes el índice del array $row. Es decir, en lugar de $row[nombre], debería ser $row ['nombre'].

Hasta donde llega mi conocimiento, el índice de un array asociativo (todo aquel cuyo índice no sea un número entero / integer) es siempre un String o cadena de texto, y va entrecomillado.

Además, el índice "nombre" debe coincidir exactamente con el nombre de la columna de la tabla, tal como figura en la tabla. Por ej., si la tabla dice "Nombre" habrá un inconveniente, ya que el script estará buscando en el record set $res una columna llamada "nombre", pero no la encontrará, porque "Nombre" y "nombre" se interpretan como dos cosas distintas.

Si lo anterior no funcionara, otra prueba que podrías hacer es, en lugar de poner $row['nombre'], escribir $row[1]. 1 es sólo un ejemplo, ahí hay que poner el número de columna que corresponda a "nombre", teniendo en cuenta que la primera es 0. Ej. si la tabla tiene 3 columnas: id, nombre, obseraciones, "nombre" será igual a $row[1].

Suerte