Ir al contenido


Foto

[RESUELTO] Como comparo el valor de una consulta


  • Por favor identifícate para responder
2 respuestas en este tema

#1 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 21 julio 2010 - 09:02

Tengo la siguiente consulta ejecutándose en php con el conector de Interbase



sql
  1. "select CODIGO, count(CODIGO) as CUANTOS, CLAVE from USUARIOS where upper(CODIGO) = '".strtoupper($usuario)."' group by CODIGO, CLAVE"



Cuando el usuario existe y lo encuentra no da ningún tipo de error, el problema esta al momento que el usuario no existe, me devuelve el siguiente error:

Notice: Trying to get property of non-object in D:\wamp\www\INTRANET\ingresar.php on line 28


La linea 28 tiene el siguiente if



php
  1. if ($row->CUANTOS > 0) {
  2.       //Pasa a la pagina principal
  3.       menu($usuario);
  4.   }



Antes de eso ejecuto la comparación del result y el fetch Object



php
  1. if (!$result) {
  2.       print "La consulta no pudo ejecutarse.";
  3.       print "<a href=\"index.html\">Volver a la pagina de ingreso.</a>";
  4.       exit;
  5.   }
  6.  
  7.   $row=ibase_fetch_object($result);



Alguna idea para este error?
  • 0

#2 Héctor Randolph

Héctor Randolph

    501st Legion

  • Moderadores
  • PipPipPip
  • 664 mensajes
  • LocationMéxico

Escrito 21 julio 2010 - 09:18

Creo que algo así podría funcionar



php
  1. if ($row and $row->CUANTOS > 0) {
  2.       //Pasa a la pagina principal
  3.       menu($usuario);
  4.   }



Lo que está pasando es que si la consulta no devuelve registros el objeto $row queda nulo y por lo tanto no se podrá acceder a sus propiedades. Entonces, bastaría con comprobar si la consulta devolvió algo o bien si el objeto $row es distinto de nulo antes de acceder a la propiedad CUANTOS.

Saludos
  • 0

#3 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 21 julio 2010 - 09:23

Funciono, gracias por la explicación...  :D
  • 0




IP.Board spam blocked by CleanTalk.