Ciao a tutti,
come da oggetto, sto impazzendo con una query che deve trovare i record compresi tra due date. La query lanciata da php non mi tira fuori nessun record, mentre la stessa, mandata a video con un echo e lanciata sul mysql query browser, funziona correttamente.
la tabella è abbastanza nutrita, ma c'è un record in particolare con campo DataProtocollo = '2010-01-20' e UfficioMitt = 'Pittau ...'
La query è la seguente:
Codice PHP:
select * from PROTOUNION where (DataProtocollo BETWEEN '2010-01-01' AND '2010-02-02') and UfficioMitt like '%pittau%' order by DATE_FORMAT(DataProtocollo,'%Y%m%d') desc, NProto desc
Avendo brutte esperienze coi campi data, ho provato anche a fare così:
Codice PHP:
select * from PROTOUNION where (TO_DAYS(DataProtocollo) BETWEEN TO_DAYS('2010-01-01') AND TO_DAYS('2010-02-02')) and UfficioMitt like '%pittau%' order by DATE_FORMAT(DataProtocollo,'%Y%m%d') desc, NProto desc
Ma il risultato è lo stesso... su query browser funziona, mentre da pagina php non mi restituisce niente!
Ho fatto anche altre prove senza il between, e la cosa diventa ancora più strana, se lancio la query:
Codice PHP:
select * from PROTOUNION where DataProtocollo <= '2010-02-02' and UfficioMitt like '%pittau%' order by DATE_FORMAT(DataProtocollo,'%Y%m%d') desc, NProto desc
Funziona correttamente,
mentre con la query:
Codice PHP:
select * from PROTOUNION where DataProtocollo >= '2010-01-01' and UfficioMitt like '%pittau%' order by DATE_FORMAT(DataProtocollo,'%Y%m%d') desc, NProto desc
Stesso problema, non mi tira fuori niente
Il mio dubbio è che la cosa possa dipendere dalla versione di php o di mysql installate sulla macchina, ma vorrei cercare di toccare il meno possibile, trattandosi di un server linux e non essendo molto pratico con le attività sistemistiche su questo sistema operativo.
Se qualcuno ha qualche idea in merito o ha avuto esperienze simili, lo ringrazio anticipatamente per l'attenzione.
Saluti
W.