Query sin resultado!!!!!
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>');
}
?>
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>');
}
?>
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
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