Foros del Web » Programando para Internet » PHP »

como soluciono esto

Estas en el tema de como soluciono esto en el foro de PHP en Foros del Web. ( ! ) Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\evatienda\admin\producto_add.php on line 125 Call Stack # Time Memory Function Location ...
  #1 (permalink)  
Antiguo 03/01/2012, 09:36
 
Fecha de Ingreso: noviembre-2010
Ubicación: aun no se donde vivir
Mensajes: 112
Antigüedad: 13 años, 5 meses
Puntos: 3
como soluciono esto

( ! ) Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\evatienda\admin\producto_add.php on line 125
Call Stack
# Time Memory Function Location
1 0.0038 416624 {main}( ) ..\producto_add.php:0
2 0.0086 418152 mysql_num_rows ( ) ..\producto_add.php:125

este es el script
Código PHP:
Ver original
  1. <tr valign="baseline">
  2.           <td nowrap="nowrap" align="right">Categoria:</td>
  3.           <td><label for="select"></label>
  4.             <select name="select" id="select">
  5.             <?php
  6. do {
  7. ?>
  8.              <option value=" <?php echo $row_ConsultaCategoria['idcategory']?>"><?php echo
  9. $row_ConsultaCategoria['description']?></option>
  10.              <?php
  11. } while ($ConsultaCategoria = mysql_fetch_assoc($ConsultaCategoria));
  12.   $rows = mysql_num_rows($ConsultaCategoria);
  13.   if($rows > 0) {
  14.       mysql_data_seek($ConsultaCategoria, 0);
  15.       $ConsultaCategoria = mysql_fetch_assoc($ConsultaCategoria);
  16.   }
  17. ?>
  18.           </select></td>
  #2 (permalink)  
Antiguo 03/01/2012, 10:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: como soluciono esto

Según el manual:
http://www.php.net/mysql_fetch_assoc

Cita:
Devuelve un array asociativo de cadenas que corresponde a la fila recuperada, o FALSE si no hay más filas disponibles.
Y yo creo que te está devolviendo FALSE, pues el mensaje de error indica eso.

Por eso es mala idea usar do-while, un while() siempre resulta mejor.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 03/01/2012, 10:24
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 7 meses
Puntos: 50
Respuesta: como soluciono esto

Postea el código de tu consulta, ahí está el error,
Saludos
__________________
He aprendido mucho y sigo aprendiendo cada día aquí...así que ayudo cuando puedo para disminuir mi deuda XD..
mi hobby
  #4 (permalink)  
Antiguo 03/01/2012, 10:58
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: como soluciono esto

El problema es porque estás usando la misma variable $ConsultaCategoria para todo:

Código PHP:
Ver original
  1. while (/* minimo cambia esta primera */ $ConsultaCategoria = mysql_fetch_assoc($ConsultaCategoria));
  2.   $rows = mysql_num_rows($ConsultaCategoria);

Al final la variable $ConsultaCategoria termina en false por la función mysql_fetch_assoc y se pierde el resultado (resource) que proviene de mysql_query (Necesario por la función mysql_num_rows).

Tampoco tiene porque estar mysql_num_rows dentro del bucle.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 03/01/2012, 11:00
 
Fecha de Ingreso: enero-2011
Ubicación: Colombia
Mensajes: 6
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: como soluciono esto

Cita:
Iniciado por andresdzphp Ver Mensaje
El problema es porque estás usando la misma variable $ConsultaCategoria para todo:

Código PHP:
Ver original
  1. while (/* minimo cambia esta primera */ $ConsultaCategoria = mysql_fetch_assoc($ConsultaCategoria));
  2.   $rows = mysql_num_rows($ConsultaCategoria);

Al final la variable $ConsultaCategoria termina en false por la función mysql_fetch_assoc y se pierde el resultado (resource) que proviene de mysql_query (Necesario por la función mysql_num_rows).

Saludos.
totalmente deacuerdo
  #6 (permalink)  
Antiguo 03/01/2012, 11:53
 
Fecha de Ingreso: noviembre-2010
Ubicación: aun no se donde vivir
Mensajes: 112
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: como soluciono esto

Muchas gracias chicos!!!

Problema resuelto.... el problema era ese de que estaba usando las misma variables para todo y nada la cambie como me decia andresdzphp.

Un saludo

Etiquetas: mysql
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 08:50.