No es problema de DB, es un error clasico de programacion. Lo que te esta pasando ahi es que no estas preguntando correctamente, cuando dices:

    $resultSet = $this->connection->Execute($query);
    if (!$resultSet)

Realmente estas tratando a la variable como si fuera -boolean-, por eso al preguntar !$resultSet lo que el sistema entiende es si la variable es -false-, pero como en realidad no es -false- sino -null- entonces obviamente te devolverá lo que contiene tu bloque -else- de ese -if-, o sea: $resultSet.

Para ello puedes usar la variante que te dio Lian o usar la que tienes con algunos cambios, aqui te doy dos variantes:

    $resultSet = $this->connection->Execute($query);
    if ($resultSet == NULL)

o más profesional que eso:

    $resultSet = $this->connection->Execute($query);
    if (is_null($resultSet))

Mi variante preferida es usando una condición ternaria:

   $resultSet = $this->connection->Execute($query);
   return ($resultSet == NULL)?NULL:$resultSet;

o más profesional que eso:

   $resultSet = $this->connection->Execute($query);
   return is_null($resultSet)?NULL:$resultSet;

OJO: En PHP se usa -NULL- (en mayusculas) si te quieres referir a valores nulos.

Espero te sirva de algo ;-)

Saludos Fraternales

_____________________________________
Alberto García Gómez .·.
Administrador de Redes / Webmaster
Dirección Provincial de Educacion de Matanzas
Politécnico de Informática de Matanzas

----- Original Message ----- From: <isla...@infomed.sld.cu> To: "Lista cubana de soporte tecnico en Tecnologias Libres" <gutl-l@jovenclub.cu>
Sent: Wednesday, December 15, 2010 8:45 AM
Subject: [Gutl-l] Duda con PHP


Hola amigos tengo una duda y quiesiera que ustedes me aclararan,
cual seria la diferencia entre

Execute
Query
SelectLimit

de ADODB
porque estoy tratando de hacer que no me funciona , pero que ya lo
habia probado , primero pense que era la BD, pero ya me di cuenta
despues que cambie cosas en la BD que no tiene que ver con la
BD,entonces ya nos e que es y tuve que acudir a ustedes,este es codigo
o la funcion que me da problemas,
tengo una tabla en mi BD que se llama
MARCA(int idmarca,varchar nombre)

entonces la funcion que le quiero aplicar es la siguiente

public function getMarcas($nombre)
  {
    $tieneWhere=false;
    $query = "SELECT * FROM marca where nombre=\"$nombre\"";


    $resultSet = $this->connection->Execute($query);
    if (!$resultSet)
      {
      return null;
      }
      else
      {
      return $resultSet;
      }

  }

y se, porque lo se que la tabla esta vacia,, entonces siempre me
retorna el resultset asi mismo vacio, sin tener a nadie en esa
tabla,cuando lo que quiero es que me retorne null, por estar vacia mi
tabla.y no me funciona no se que hacer ayudeneme porque si tengo un
error ya no lo veo ,,
gracias de antemano.

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.


--

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas

Infomed: http://www.sld.cu/

______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Responder a