Quote Originariamente inviata da scriviapiero Visualizza il messaggio
Ciao a tutti,

WHERE STR_TO_DATE(data,'%d-%m-%Y') <=
STR_TO_DATE('$ricerca','%d-%m-%Y')
AND STR_TO_DATE(data,'%d-%m-%Y') >=
STR_TO_DATE('$ricerca','%d-%m-%Y')")
mi sembra che ci sia un po di confusione in questo pezzo, 'data' che è un campo della tabella non ha certo bisogno di essere passato alla funzione str_to_date e comunque il suo formato sarebbe Y-m-d e non d-m-Y come hai messo tu, mentre $ricerca bisogna vedere cosa contiene, persumendo che contenga una data nel classico formato italiano in genere si usano gli "/" come separatori e non i "-" .... quindi premesso che comunque bisogna controllare (magari con un echo) che cosa contiene effettivamente $ricerca, io scriverei così:

Codice PHP:
$result mysql_query("SELECT *  
             FROM   acquisti 
             WHERE data <=
STR_TO_DATE('
$ricerca','%d/%m/%Y')  
             AND data   >=
STR_TO_DATE('
$ricerca','%d/%m/%Y')")  
             or die(
"Impossibile eseguire la query: "mysql_error());