Para que pones el "as tareas" si tenes una sola tabla nomas y no haces ninguna consulta compleja como para identificar las tablas.
Proba con este código.
Código SQL:
Ver original$sql = 'select count(*) from tareas where id = '.$id.' and fecha = "'.$fecha.'"';
Otra cosa que tenes que tener en cuenta es el horario UTC de la base de datos, por ejemplo si esta en UTC 00:00 y por ejemplo, vos que estas en México que el UTC es -06:00 cuando haces una consulta a las 19:00 en el servidor son las 01:00, por ende, otro día.
Otra cosa a tener en cuenta es que si los usuarios son de distintos lugares con distintos usos horarios vas a tener que normalizar los horarios de las consultas y del script PHP.
También podes usar la función CURDATE() de MySQL
Código SQL:
Ver original$sql = 'select count(*) from tareas where id = '.$id.' and fecha = curdate()';
Pero vas a seguir teniendo el problema de los husos horarios.
Para saber que horario maneja el servidor MySQL podes averiguarlo con:
Que devuelve un dato del tipo: 2012-07-12 21:00:10