Foros del Web » Programando para Internet » PHP »

PHP - mysql_num_rows

Estas en el tema de PHP - mysql_num_rows en el foro de PHP en Foros del Web. Hola tengo mi codigo php para realizar consultas a una base de datos y cuando ejecuto me da como resultado la siguiente linea: 0 ){ ...
  #1 (permalink)  
Antiguo 01/07/2010, 12:16
 
Fecha de Ingreso: julio-2010
Mensajes: 5
Antigüedad: 9 años, 5 meses
Puntos: 0
Pregunta PHP - mysql_num_rows

Hola tengo mi codigo php para realizar consultas a una base de datos y cuando ejecuto me da como resultado la siguiente linea:

0 ){ echo "cantidad de filas en el resultado: ".mysql_num_rows($res); }else{ echo "no se obtuvieron resultados"; } mysql_close($cnx); ?>

mis archivos son:

config.php

<?php
$HOSTNAME = "localhost"; //SERVIDOR
$USERNAME = "root"; //USUARIO
$PASSWORD = "root"; //CONTRASEÑA
$DATABASE = "pruebas"; //BASE DE DATOS
?>

funciones.php
<?
/***
función conectar
que = se conecta a mysql y devuelve el identificador de conexión
***/
function conectar(){
global $HOSTNAME,$USERNAME,$PASSWORD,$DATABASE;
$idcnx = mysql_connect($HOSTNAME, $USERNAME, $PASSWORD) or DIE(mysql_error());
mysql_select_db($DATABASE, $idcnx);
return $idcnx;
}
?>

mysql_num_rows.php

<?php


//nos conectamos a mysql
$cnx = conectar();
include ("includes/config.php");
include ("includes/funciones.php");

//consulta
$sql = "SELECT * FROM directorio ORDER BY id DESC";
$res= mysql_query($sql) or die (mysql_error());

if( mysql_num_rows($res) > 0 ){
echo "cantidad de filas en el resultado: ".mysql_num_rows($res);
}else{
echo "no se obtuvieron resultados";
}
mysql_close($cnx);
?>

la verdad es que no se que esta mal, agradeceria una mano.
^_^

Última edición por Steffania; 01/07/2010 a las 12:55
  #2 (permalink)  
Antiguo 01/07/2010, 12:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Tema movido desde Configuración PHP a PHP
  #3 (permalink)  
Antiguo 01/07/2010, 13:19
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 15 años, 2 meses
Puntos: 71
Respuesta: PHP - mysql_num_rows

Hay varias cosas que estan mal, como llamar a la funcion conectar() ANTES de hacer el include del fichero donde esta la funcion.

Te recomiendo que uses un entorno de programacion, o al menos un editor con coloreado, para resaltar posibles errores 'tontos'.

Saludos.
  #4 (permalink)  
Antiguo 01/07/2010, 13:29
 
Fecha de Ingreso: julio-2008
Mensajes: 201
Antigüedad: 11 años, 5 meses
Puntos: 11
Respuesta: PHP - mysql_num_rows

Aquí tienes el código bien hecho:

funciones.php
Código PHP:
Ver original
  1. <?
  2. /***
  3. función conectar
  4. que = se conecta a mysql y devuelve el identificador de conexión
  5. ***/
  6. function conectar($nombre, $usuario, $password, $dbase){
  7. $idcnx = mysql_connect($nombre, $usuario, $password) or DIE(mysql_error());
  8. mysql_select_db($dbase, $idcnx);
  9. return $idcnx;
  10. }
  11. ?>

mysql_num_rows.php

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. //nos conectamos a mysql
  5.  
  6. include ("includes/config.php");
  7. include ("includes/funciones.php");
  8. $cnx = conectar($HOSTNAME,$USERNAME,$PASSWORD,$DATABASE);
  9. //consulta
  10. $sql = "SELECT * FROM directorio ORDER BY id DESC";
  11. $res= mysql_query($sql) or die (mysql_error());
  12.  
  13. if( mysql_num_rows($res) > 0 ){
  14. echo "cantidad de filas en el resultado: ".mysql_num_rows($res);
  15. }else{
  16. echo "no se obtuvieron resultados";
  17. }
  18. ?>

Ya me dirás si te funciona correctamente :)
  #5 (permalink)  
Antiguo 01/07/2010, 14:26
 
Fecha de Ingreso: julio-2010
Mensajes: 5
Antigüedad: 9 años, 5 meses
Puntos: 0
Pregunta Respuesta: PHP - mysql_num_rows

Hola Muchas Gracias por la respuesta;

He cambiado el codigo pero lamentablemente me sigue saliendo la siguiente linea:

0 ){ echo "cantidad de filas en el resultado: ".mysql_num_rows($res); }else{ echo "no se obtuvieron resultados"; } mysql_close($cnx); ?>


tambien probe con hacer la conexion a la base de datos sin los archivos de configuracion pero no hay caso :(

Por el momento estoy utilizando el notepadd++ pero no me marca ningun error de sintaxis.
  #6 (permalink)  
Antiguo 01/07/2010, 15:16
 
Fecha de Ingreso: julio-2008
Mensajes: 201
Antigüedad: 11 años, 5 meses
Puntos: 11
Respuesta: PHP - mysql_num_rows

Me extraña mucho que te muestre eso en el aspecto visual. ¿Estás segura de que el archivo es un PHP y no un HTML? Aunque si fuese así te tendría que mostrar todo el código...

¿Has probado a hacerlo sin includes y sin función?
  #7 (permalink)  
Antiguo 01/07/2010, 22:40
 
Fecha de Ingreso: julio-2010
Mensajes: 5
Antigüedad: 9 años, 5 meses
Puntos: 0
Pregunta Respuesta: PHP - mysql_num_rows

Sin duda es un codigo php y definitivamente si fuera un HTML deberia de mostrar todo el codigo.

Tambien probe sin utilizar los archivos de configuracion y el codigo es el siguiente, pero ahun asi no logro obtener el resultado buscado con el mysql_num_rows:

<?php
//nos conectamos a mysql
$cnx = mysql_connect("localhost","root","root") or die ("NO se Puede conectar !!!!!");
mysql_select_db("pruebas", $cnx);

//consulta
$sql = "SELECT * FROM directorio ORDER BY id DESC";
$res= mysql_query($sql)) or die ("NO se Puede conectar !!!!!");

echo ("esta soy yo");

if( mysql_num_rows($res) > 0 ){
echo "cantidad de filas en el resultado: ".mysql_num_rows($res);
}else{
echo "no se obtuvieron resultados";
}
mysql_close($cnx);
echo <p>"HOLA"</p>;
?>
  #8 (permalink)  
Antiguo 02/07/2010, 04:54
 
Fecha de Ingreso: julio-2008
Mensajes: 201
Antigüedad: 11 años, 5 meses
Puntos: 11
Respuesta: PHP - mysql_num_rows

¿Pero así qué problema te da?
¿No te da ningún resultado o te sigue pasando lo mismo?
¿Estás segura de que tiene contenido esa tabla?
  #9 (permalink)  
Antiguo 02/07/2010, 06:50
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 15 años, 2 meses
Puntos: 71
Respuesta: PHP - mysql_num_rows

Prueba ahora, seguias teniendo algunos fallos de sintaxis. Recuerda poner bien los datos del servidor mysql, usuario y contraseña, asi como el nombre de la base de datos y la tabla, es decir, que verifiques todos los datos.

Código PHP:
<?php
$cnx 
mysql_connect("localhost","root","root") or die ("NO se Puede conectar !!!!!");
mysql_select_db("pruebas"$cnx);

//consulta
$sql "SELECT * FROM directorio ORDER BY id DESC";
$resmysql_query($sql) or die ("NO se Puede conectar !!!!!");


if( 
mysql_num_rows($res) > )
  echo 
"cantidad de filas en el resultado: ".mysql_num_rows($res);
else
  echo 
"no se obtuvieron resultados";

mysql_close($cnx);
?>
  #10 (permalink)  
Antiguo 02/07/2010, 17:50
 
Fecha de Ingreso: julio-2010
Mensajes: 5
Antigüedad: 9 años, 5 meses
Puntos: 0
Pregunta Respuesta: PHP - mysql_num_rows

Hola Chicos, gracias por las respuestas.

En cuanto a las preguntas de TLD32, me sigue pasando lo mismo, es decir cuando ejecuto el codigo en el navegador web me lanza lo siguiente:

0 ){ echo "cantidad de filas en el resultado: ".mysql_num_rows($res); }else{ echo "no se obtuvieron resultados"; } mysql_close($cnx); ?>

cabe aclarar que eso solo me pasa con el mozilla firefox, ya que cuando ejecuto con el IE, me lanza la opcion de abrir el archivo o de guardarlo y mas de eso no avanza la ejecucion. Tambien he probado con el Opera pero ahun asi me da los mismos resultados que con el moszilla.

Por otro lado, he tratado de simplificar lo mas posible el codigo llevando a lo necesario cosa de comprobar por lo menos una minima salida por pantalla y ahi definitivamente me quedo con el navegador en blanco :(

<?php
//Nos conectamos a Mysql
$cnx = mysql_connect("localhost","root","root")
or die (mysql_error());

//identificamos y seleccionamos la base de datos
mysql_select_db("pruebas",$cnx);

//consultamos

$res= mysql_query("SELECT * FROM directorio ORDER BY id DESC")
or die (mysql_error());

echo "cantidad de filas en el resultado: ".mysql_num_rows($res);


mysql_close($cnx);
?>

No se que ha de estar faltando ya que por lo menos deberia de salir el ECHO, lo cual no hace y me da la intuicion de que mi codigo no hace nada :(

Ha y la tabla por supuesto que contiene datos de lo contrario con el codigo completo deberia de haber entrado por el ELSE y largado el ECHO ("No se han Obtenido Resultados" ).

Incluso he probado con otra base de datos y otra tabla pero ahun asi, no puedo encontrar el error!!

Última edición por Steffania; 02/07/2010 a las 17:57
  #11 (permalink)  
Antiguo 02/07/2010, 21:59
 
Fecha de Ingreso: septiembre-2009
Ubicación: Neuquén
Mensajes: 142
Antigüedad: 10 años, 2 meses
Puntos: 12
Respuesta: PHP - mysql_num_rows

Código PHP:
Ver original
  1. <?php
  2. //Nos conectamos a Mysql
  3. $cnx = mysql_connect("localhost","root","root")
  4.  
  5. //identificamos y seleccionamos la base de datos
  6. mysql_select_db("pruebas",$cnx);
  7.  
  8. //consultamos
  9.  
  10. $res= mysql_query("SELECT * FROM directorio ORDER BY id DESC")
  11.  
  12. echo "cantidad de filas en el resultado: ".mysql_num_rows($res);
  13.  
  14.  
  15. ?>


Ya con eso, no te debería salir la página en blanco...

Con respecto a tu primer error en:

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. //nos conectamos a mysql
  5. $cnx = conectar();
  6. include ("includes/config.php");
  7. include ("includes/funciones.php");
  8.  
  9. //consulta
  10. $sql = "SELECT * FROM directorio ORDER BY id DESC";
  11. $res= mysql_query($sql) or die (mysql_error());
  12.  
  13. if( mysql_num_rows($res) > 0 ){
  14. echo "cantidad de filas en el resultado: ".mysql_num_rows($res);
  15. }else{
  16. echo "no se obtuvieron resultados";
  17. }
  18. ?>

Decías que en el explorador te mostraba:

0 ){
echo "cantidad de filas en el resultado: ".mysql_num_rows($res);
}else{
echo "no se obtuvieron resultados";
}
mysql_close($cnx);
?>


Por lo que me hace pensar que el código no está siendo interpretado... Generalmente los exploradores no muestran nada si ven que algo empieza en < y termina en >, por lo tanto:

<?php


//nos conectamos a mysql
$cnx = conectar();
include ("includes/config.php");
include ("includes/funciones.php");

//consulta
$sql = "SELECT * FROM directorio ORDER BY id DESC";
$res= mysql_query($sql) or die (mysql_error());

if( mysql_num_rows($res) >


Eso no te lo muestra, ya que toma el signo ">" como cierre de tag. Y el resto como un texto común... Pero si haces click derecho sobre la "página" y ves el "código fuente" te va a mostrar todo el código PHP.

Lo unico que puedo decir es que, el código PHP no se esta interpretando, porque:

El código esta dentro de un archivo.html (o .htm, etc)

O...

Tu servidor no está funcionando como debería.

Fijate en las paginas en blanco, y haz click derecho y ve a "Ver código fuente" o algo asi, y contanos que ves.

Saludos.
  #12 (permalink)  
Antiguo 03/07/2010, 16:19
 
Fecha de Ingreso: julio-2010
Mensajes: 5
Antigüedad: 9 años, 5 meses
Puntos: 0
Pregunta Respuesta: PHP - mysql_num_rows

hola

analizando la opinion de Nisrokh coincido en que esta tomando el > como sierre de la consulta de php; de alli he cambiado por un diferencial incluso con un < 0 y obtengo como respuesta la pagina en blanco.

luego haciendo click derecho en la pagina web puedo observar el codigo completo y me toma todo :D; asun asi no termino de comprender por que no me muestra ninguna de las salidas por pantallas de los ECHO :(
  #13 (permalink)  
Antiguo 03/07/2010, 19:47
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 11 años, 9 meses
Puntos: 10
Respuesta: PHP - mysql_num_rows

Crea un archivo unico php y prueba asi:

Código PHP:

$HOSTNAME 
"localhost"//SERVIDOR
$USERNAME "root"//USUARIO
$PASSWORD "root"//CONTRASEÑA
$DATABASE "pruebas"//BASE DE DATOS

$TABLA "directorio";

function 
conectar(){
global 
$HOSTNAME,$USERNAME,$PASSWORD,$DATABASE;
$idcnx mysql_connect($HOSTNAME$USERNAME$PASSWORD) or die(mysql_error());
mysql_select_db($DATABASE$idcnx);
return 
$idcnx;
}

$cnx conectar();

$sql "SELECT * FROM ".$TABLA.";"//ORDER BY id DESC

$res mysql_query($sql) or die (mysql_error());


if( 
mysql_num_rows($res) > ){
echo 
"cantidad de filas en el resultado: ".mysql_num_rows($res);
}else{
echo 
"no se obtuvieron resultados";
}


mysql_close($cnx);

//RESULTADO:
//cantidad de filas en el resultado: 10 
  #14 (permalink)  
Antiguo 03/07/2010, 21:38
 
Fecha de Ingreso: septiembre-2009
Ubicación: Neuquén
Mensajes: 142
Antigüedad: 10 años, 2 meses
Puntos: 12
Respuesta: PHP - mysql_num_rows

El explorador nunca debería mostrarte código PHP (Ni siquiera cuando vemos el "código fuente" HTML) Si de alguna manera te esta mostrando el código PHP en el explorador, es porque no está siendo interpretado... :S

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:00.