como te dicen arriba debes guardarla en formato ingles que es como trabaja sql año-mes-dia si la fecha es de tipo date si es date time necesitas tambien la hora, pero vamos a por la fecha...
si tienes un form y en una variable recibe la fecha de forma ..
d-m-Y entonces deberias tranformala a Y-m-d con substr(); y guardarla de la misma forma para cuando consultas, solo haces tu consulta y para mostrar al usuario le transformas a formato español....
por ejemplo si quiero sacar la fecha de base de datos que esta como Y-m-d y la quiero pasar a español para mostrar hago
Código PHP:
<?php
$fec = "$datos[fecha_delac]";
$day = substr($fec, 8,2);
$month = substr($fec, 5,2);
$year = substr($fec, 0,4);
$fecha = "$day-$month-$year";
echo "$fecha";
?>
como ves corto y despues ordeno te dejo de tarea como pasar de español a ingles ;)
saludos