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

SELECT COUNT devuelve 1 pero debería ser 0

Estas en el tema de SELECT COUNT devuelve 1 pero debería ser 0 en el foro de Mysql en Foros del Web. Tengo en la BBDD 0 registros, pero al hacer un SELECT COUNT me devuelve el valor 1, que me imagino que será por defecto. ¿Como ...
  #1 (permalink)  
Antiguo 09/05/2010, 05:38
 
Fecha de Ingreso: mayo-2010
Mensajes: 52
Antigüedad: 13 años, 11 meses
Puntos: 0
SELECT COUNT devuelve 1 pero debería ser 0

Tengo en la BBDD 0 registros, pero al hacer un SELECT COUNT me devuelve el valor 1, que me imagino que será por defecto. ¿Como hago para que cuando no encuentre ningún registro me devuelva 0 en vez de 1?

Muchas gracias.
  #2 (permalink)  
Antiguo 09/05/2010, 05:54
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: SELECT COUNT devuelve 1 pero debería ser 0

Pon aqui la consulta en concreto
  #3 (permalink)  
Antiguo 09/05/2010, 06:08
 
Fecha de Ingreso: mayo-2010
Mensajes: 52
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: SELECT COUNT devuelve 1 pero debería ser 0

He aquí el código:

Código PHP:
Ver original
  1. $sql= mysql_query("SELECT COUNT(codmanual) FROM manual WHERE categoria = 'desweb'", $conexion);
  2. $filas= mysql_num_rows($sql);
  #4 (permalink)  
Antiguo 09/05/2010, 06:12
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: SELECT COUNT devuelve 1 pero debería ser 0

Prueba con esto:
Código PHP:
$sqlmysql_query("SELECT COUNT(codmanual) as total FROM manual WHERE categoria = 'desweb'"$conexion);
$filasmysql_fetch_array($sql);
echo 
$filas['total']; 


  #5 (permalink)  
Antiguo 09/05/2010, 07:24
 
Fecha de Ingreso: mayo-2010
Mensajes: 52
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: SELECT COUNT devuelve 1 pero debería ser 0

¡Funciona! Muchas gracias ^^.

Si no es molestia, te importaría explicarme así por encima que es lo que hace tu código exactamente, es que no termino de captar porque así si que funciona.


Muchas gracias de nuevo ;).
  #6 (permalink)  
Antiguo 09/05/2010, 07:42
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: SELECT COUNT devuelve 1 pero debería ser 0

Tenias un problema en tu codigo php.
Desde la consulta de mysql, lo unico que hizo Vun fue ponerle un alias al conteo que haces en la consulta y llamarla como si fuera un campo de la tabla.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #7 (permalink)  
Antiguo 09/05/2010, 07:57
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: SELECT COUNT devuelve 1 pero debería ser 0

Lo mejor es que entres al phpmyadmin , le des a la consola SQL (ese iconito arriba a la izquierda) y pruebes tu mismo la consulta, veras que tan solo devuelve 1 sola columna llamada 'total'

Con la funcion mysql_fetch_array() nos traemos a un array de php una fila de dicha consulta.
  #8 (permalink)  
Antiguo 09/05/2010, 11:02
 
Fecha de Ingreso: mayo-2010
Mensajes: 52
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: SELECT COUNT devuelve 1 pero debería ser 0

La cosa es que si pruebo mi código también me devuelve un 0 en una columna llamada COUNT(codmanual), ¿no sería lo mismo?
  #9 (permalink)  
Antiguo 09/05/2010, 12:07
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: SELECT COUNT devuelve 1 pero debería ser 0

Si, si no le pones el 'as total' le deja ese nombre a la columna.... un poco raro el nombrecito para luego sacarlo por pantalla y tal jej
  #10 (permalink)  
Antiguo 10/05/2010, 11:59
 
Fecha de Ingreso: mayo-2010
Mensajes: 52
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: SELECT COUNT devuelve 1 pero debería ser 0

Entiendo, muchas gracias por todo, ya he aprendido algo más gracias a vosotros ;).

¡Saludos!.

Etiquetas: count, select
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 23:50.