Cita: Segun mi codigo :
<input type="text" onChange="document.location.href='mi_script-php?dato='+dato.value"
Esto hace que me ejecute una funcion PHP para hacer lo que tengo que hacer (consulta en la base de datos... bla...bla...bla.... (Como dice Don Cluster)
Estás empleando mal el termino de "ejecutar función PHP" en ese contexto .. Lo que estás haciendo es vía javascript redireccionar a "mi_script.php" y le pasas como parámetro una variable (o más). Vendría a ser lo mismo que hacer el "submit" de ese formulario.
Tu "mi_script.php" ... al ejecutarse generará como salida otra página HTML con su javascript y demás ... Pero ya est "otra página" .. (aunque sea la misma a la que llames).
Para tu validación javascript -antes- de que tu petición de redirección (o submit del formulario) se ejectue .. debes gestionarlo con javascript integramente.
Lo más sano es que uses un formulario y apliques tu función javascript ante el evento "onSubmit" del formulario para -dejar- continuar con el submit o no de los datos del formulario.
<form action="mi_script.php" method="GET" onSubmit="return validar_javascript()">
<input type="text" ......>
<input type="submit" name="enviar" value=" Enviar ">
</form>
Y tu función "validar_javascript()" tendrá que devolver un "True" o "false" según valide alguno de los datos de tu formulario para que el "submit" continue hacia donde se indica en el action .. es decir .. para que se envie completo los datos hacia tu script PHP que .. vía esa variable de control ya aplicaras tu lógica "PHP" donde llamaras a tus funciones PHP o resto de código ..
Cualquier aclaración con javascript .. usa preferentemente el foro de javacript.
Un saludo,