... la mejor opción:
Haz que sea el servidor quien ejecute tu script; busca sobre
CRON JOB es LINUX ó sobre el
Administrador de Tareas si es Win$ ó, mejor aún, consulta sobre esta opción con tu proovedor. Esto no corresponde ya a PHP.
Sobre lo que quieres hacer...

primero tendrías que ver que, en efecto, la comparación de fechas es la correcta. No indicas exáctamente cómo es que guardas la fecha en tu BD pero asegurate de hacerlo bien

(que aporte...

). Para la comparación solo te sugeriría ocuparas la función
strtotime() de esta manera:
Código PHP:
if(strtotime($a3["fecha"]) < strtotime("now"))
// entonces ya ni deberías ocupar el $fecha... aunque si quieres igual lo puedes hacer
... Suerte!