Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/05/2004, 21:48
Avatar de Reynier
Reynier
 
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Ayuda con función

Upss. Chicos ayudenme ya no se que hacer para que esto me funcione. El código es este:
Código PHP:
function UsersBirthday(){
  
$fechaactual date("Y-m-d");
  
$sql_query "SELECT * FROM reynierpm_usuarios";
  
$result mysql_query($sql_query) or die("No se ha podido ejecutar la consulta: ".$sql_query.". MySQL ha dicho: ".mysql_error());
  
$fetchrow mysql_fetch_assoc($result);

  if(
mysql_num_rows($result)!=0){
   
$sql "SELECT DATEDIFF(".$fechaactual.",".$fetchrow['fecha_nacimiento'].") as years";
   
$res mysql_query($sql) or die("No se ha podido ejecutar la consulta: ".$sql.". MySQL ha dicho: ".mysql_error());
   
$fetch mysql_fetch_assoc($res);
   
$bool true;
  }else{
   if((
$fechaactual $fetchrow['fecha_nacimiento'])&&($bool)){
    echo 
wordwrap("FELICIDADES ".$fetchrow['nombre'].". Hoy cumples ".$fetch['years']." años",20);
   }else{
    echo 
"No hay usuarios que cumplan año en esta fecha o no tenemos usuarios registrados";
   }
  }
 } 
La cosa es que quiero calcular la edad del usuario. Ya he corrido mi código paso a paso y todas las variables toman bien su valor. Me he chequeado el uso del DATEDIFF de MySQL y creo que esta bien. El error en cuestión es este:
Cita:
No se ha podido ejecutar la consulta: SELECT DATEDIFF(2004-05-09,1980-09-05) as years. MySQL ha dicho: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(2004-05-09,1980-09-05) as years' at line 1
si se dan cuenta estan las dos fechas así que no se porque no calcula. Ahhh mi versión de MySQL es 4.0.18 porque estuve leyendo que DATEDIFF se adiciono a partir de la versión 4.0.11
¿Qué estoy haciendo mal? porque ya me hecha humo la cabeza
Salu2
__________________
Ing. Reynier Pérez Mira