Foros del Web » Programando para Internet » PHP »

Warning: mysql_num_rows() expects parameter 1 to be resource, null given in /home/lui

Estas en el tema de Warning: mysql_num_rows() expects parameter 1 to be resource, null given in /home/lui en el foro de PHP en Foros del Web. Como dice en el título, ese es el error que me aparece.... Aquí el fragmento del código php donde resulta el error, este código lo ...
  #1 (permalink)  
Antiguo 01/09/2012, 16:11
 
Fecha de Ingreso: agosto-2012
Mensajes: 77
Antigüedad: 9 años, 11 meses
Puntos: 0
Pregunta Warning: mysql_num_rows() expects parameter 1 to be resource, null given in /home/lui

Como dice en el título, ese es el error que me aparece....
Aquí el fragmento del código php donde resulta el error, este código lo que hace es leer los mensajes privados de un usuario, pero.... no hallo el error, hice como mil combinaciones para resolver el error y nada, sigue igual.

Haber si pueden resover esto, si se soluciona, eres un genio....

Código PHP:
if($_GET['msg']) {
if(!
$_GET['tipo']) { $ver='$_COOKIE[nick]'; } else { $ver2='$_COOKIE[nick]'
$com=mysql_query("SELECT * FROM mensajes WHERE destinatario='$ver2'")
or die(
mysql_error());}
if(
mysql_num_rows($com) == 0) {
echo 
"No puedes leer los mensajes privados de otras personas";

Cualquier duda que tengan o si quieren más información, con gusto se los digo ;)

Actualizado 5:09 PM hora de México:
El error completo está aquí porque en el título aparece imcompleto: Warning: mysql_num_rows() expects parameter 1 to be resource, null given in /home/luisocho/public_html/mensajes.php on line 69

Actualizado 5:11PM hora de México:
Obviamente también aparece el "No puedes leer los mensajes privados de otras personas"
  #2 (permalink)  
Antiguo 01/09/2012, 16:36
 
Fecha de Ingreso: agosto-2012
Mensajes: 77
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Warning: mysql_num_rows() expects parameter 1 to be resource, null given i

Les traduciré el código:

Ok... la variable $ver2 es igual al nombre del usuario que está conectado, cuando se hace la variable mysql_query selecciona de la tabla mensajes, los campos que sean iguales en nombre, tanto destinatario como $ver2 (nombre de usuario conectado),es decir, se supone que a un usuario le llegó un mensaje, obviamente en el campo destinatario, de todos los usuarios que hay en la tabla, debe haber uno o varios similares al nombre del usuario conectado, entonces, la variable, sólo elige esos para mostrarlos en un tabla.

Si me preguntan de que si hice la tabla para mostrar los datos, claro que sí lo hice, aquí está el código php de la tabla, aquí no hay errores, ya lo probé, sólo lo pongo para demostrarles que si hay una tabla en el que muestra los datos.

Código PHP:
<table width="100%"  border="0" align="center" cellpadding="5" cellspacing="1">
  <tr>
    <td width="14%" class="tabla_subtitulo"><strong><?=_DE_?> </strong></td>
    <td width="86%" class="tabla_subtitulo"><?=$datos['remitente']?></td>
  </tr>
  <tr>
    <td class="tabla_subtitulo"><strong><?=_PARA_?></strong></td>
    <td class="tabla_subtitulo"><?=$datos['destinatario']?></td>
  </tr>
  <?
  
if(!$_GET['tipo']){
  
?><tr>
    <td class="tabla_subtitulo"><strong><?=_OP_?> </strong></td>
    <td class="tabla_subtitulo"><a href="<?=$pagina?>?<?=$get?>=mensajes&op=borrar&msj=<?=$datos['id']?>"><?=_DELETE_?></a> | <a href="<?=$pagina?>?<?=$get?>=mensajes&mensaje=nuevo&ac=responder&usereply=<?=$datos['remitente']?>&asunto=<?=$datos['asunto']?>"><?=_REPLY_?></a> </td>
  </tr><? ?>
  <tr>
    <td class="tabla_subtitulo"><strong><?=_ASUNTO_?></strong></td>
    <td class="tabla_subtitulo"><?=$datos['asunto']?></td>
  </tr>
  <tr>
            <td colspan="2" class="tabla_contenido"> 
              <?=$datos['mensaje']?>
<?
}
}
} else {

?>
              </div></td>
  </tr>
</table>
Si preguntan de que si se sube los mensajes a la base de datos, claro que sí los sube, ningún campo en blanco.

El error está en el código que les puse en el primer mensaje...
  #3 (permalink)  
Antiguo 01/09/2012, 16:53
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 13 años, 10 meses
Puntos: 2236
Respuesta: Warning: mysql_num_rows() expects parameter 1 to be resource, null given i

Código PHP:
Ver original
  1. if($_GET['msg']) {
  2.     if(!$_GET['tipo']) {
  3.         $ver='$_COOKIE[nick]';
  4.     } else {
  5.         $ver2='$_COOKIE[nick]';
  6.         $com=mysql_query("SELECT * FROM mensajes WHERE destinatario='$ver2'") or die(mysql_error());
  7.     }
  8.     if(mysql_num_rows($com) == 0) {
  9.         echo "No puedes leer los mensajes privados de otras personas";
  10.     }
  11. }

Recuerdas que te decia que es conveniente indentar el código para hacerlo más legible... bueno, aquí se ve claramente el error... o no?
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 01/09/2012, 17:20
 
Fecha de Ingreso: agosto-2012
Mensajes: 77
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Warning: mysql_num_rows() expects parameter 1 to be resource, null given i

Pero no crees que aún indentado el código diera el mismo error, digo, es que uso Dreamweaver y no me señala ningún error, todos los corchetes y llaves están cerrados y ubicados correctamente
  #5 (permalink)  
Antiguo 01/09/2012, 18:08
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 13 años, 10 meses
Puntos: 2236
Respuesta: Warning: mysql_num_rows() expects parameter 1 to be resource, null given i

Claro que te va a dar el mismo error, pero así es más fácil ver que:

a) Te falta una consulta para cuando no se pasó 'tipo' por URL
b) La consulta que ejecutas debería estar fuera de ese if
c) Verificar si la consulta devolvió resultados debería estar dentro del else
d) Hay un serio problema de lógica porque en ningún momento lees el mensaje solicitado
e) Sigues usando mal las comillas y, por tanto, $ver y $ver2 no tienen el resultado que esperas
f) Se me escapó algo?
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 01/09/2012, 22:10
 
Fecha de Ingreso: agosto-2012
Mensajes: 77
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Warning: mysql_num_rows() expects parameter 1 to be resource, null given i

Gracias a Dios ya lo resolví, lo que pasa es que nunca puse a que "tipo" llamar, ya sea de salida o de entrada, y yo quería la de entrada y lo rehice así:

Código PHP:
if($_GET['msg']) {
if(!
$_GET['tipo']=="entrada") { $ver=" destinatario='$_COOKIE[nick]'"; } else { $ver2=" remitente='$_COOKIE[nick]'"
$com=mysql_query("SELECT * FROM mensajes WHERE id2='$_COOKIE[id]' and  destinatario='$_COOKIE[nick]'");}
if(
mysql_num_rows($com) == 0) {
echo 
_NO_LEER_MENSAJES

Gracias a todos por comentar

Etiquetas: expects, null, parameter, resource, sql, warning, usuarios
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 16:38.