Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Arreglo Fantasma

Estas en el tema de Arreglo Fantasma en el foro de Mysql en Foros del Web. Buenas Tardes. Tengo este código: Código PHP: $query2  =  "SELECT * FROM tabla_p" ; $query2 .=  " WHERE idcliente = $idCliente" ; $query2 .=  " AND estado  = 1" ;   $query2 .=  " LIMIT 1" ; //echo $query2 . "<br/>"; $result2  ...
  #1 (permalink)  
Antiguo 09/08/2011, 12:33
 
Fecha de Ingreso: junio-2009
Ubicación: Maracaibo
Mensajes: 16
Antigüedad: 14 años, 10 meses
Puntos: 0
Arreglo Fantasma

Buenas Tardes. Tengo este código:
Código PHP:
$query2 "SELECT * FROM tabla_p";
$query2.= " WHERE idcliente = $idCliente";
$query2.= " AND estado  = 1";  
$query2.= " LIMIT 1";
//echo $query2 . "<br/>";
$result2 mysql_query($query2$conexionBD);
if (!empty(
$result2)){
   echo 
"Esta es su data";          
   
//funcion que muestra el contenido del arreglo
   
muestraData($result2);
}else{
   echo 
"no tiene data";

pero no me funciona porque al seleccionar un cliente que no tiene data me muestra el:
Código PHP:
   echo "Este es su data"
sin mostrame nada mas. Cuando deberia mostrar que el:
Código PHP:
else{
   echo 
"no tiene data";

debido a que el arreglo esta vacio.

Por lo que puedo inferir, la validacion del IF es siempre cierta, pero trato de ver que contiene el arreglo y no me muestra nada.
Tambien he usado este codigo con el mismo resultado:

Código PHP:
$count count($result2);
if (
$count!=){
   echo 
"Este es su data";          
   
muestraData($result2);
}else{
   echo 
"no tiene data";

alguna idea? o lo estoy enfocando mal?
  #2 (permalink)  
Antiguo 09/08/2011, 13:34
 
Fecha de Ingreso: junio-2009
Ubicación: Maracaibo
Mensajes: 16
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Arreglo Fantasma

No existe ningun arreglo fantasma.
La Validacion del contenido del arreglo debe hacerse con mysql_num_rows
queda de esta forma:
Código PHP:
$query2 "SELECT * FROM tabla_p"
$query2.= " WHERE idcliente = $idCliente"
$query2.= " AND estado  = 1";   
$query2.= " LIMIT 1"
//echo $query2 . "<br/>"; 
$result2 mysql_query($query2$conexionBD); 
if (
mysql_num_rows($result2)!=0){ 
   echo 
"Esta es su data";           
   
//funcion que muestra el contenido del arreglo 
   
muestraData($result2); 
}else{ 
   echo 
"no tiene data"

  #3 (permalink)  
Antiguo 09/08/2011, 18:45
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Arreglo Fantasma

Precisamente lo que te indica Oscar_Olivera es correcto.

Siempre entra en la condicion porque mysql_query devuelve un RESOURCE. Lo unico que verificara ese IF es si la consulta fue ejecutada con exito, no si devolvio algun resultado.

Etiquetas: query
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 02:41.