Originariamente inviata da
satifal
Ma il campo TAB000_i_data_ora di che tipo è? Se è di tipo date, datetime o timestamp la query è corretta a meno che non ci sia un altro errore. Prova a stampare la query prima di eseguirla e provala a mano e vedi cosa ti restituisce.
Ho ricopiato in una nuova pagina web il codice essenziale e adesso con DATE_FORMAT funziona
GRAZIE
Ma mi rimane ancora la domanda sul perchè non funziona la formattazione della data
con date ("d-m-Y", TAB000_i_data_ora)
Questo è il codice che funziona con DATE_FORMAT
Codice PHP:
// forzo id record da leggere
$w_TAB000_id_ric = 2;
// istanza della classe
$data = new MysqlClass();
// chiamata alla funzione di connessione
$data->connetti();
// Lettura record con DATE_FORMAT
$TAB000_sql = $data->query("SELECT DATE_FORMAT(TAB000_i_data_ora, '%d/%m/%Y') As ddd FROM TAB000 WHERE TAB000_id = $w_TAB000_id_ric");
if(mysql_num_rows($TAB000_sql) > 0){
// estrazione dei record
$TAB000_obj = $data->estrai($TAB000_sql);
echo '<br>ddd:'.$TAB000_obj->ddd;
}
E questo è quello che non mi dà il risultato sperato:
Codice PHP:
$TAB000_sql = $data->query("SELECT * FROM TAB000 WHERE TAB000_id = $w_TAB000_id_ric");
if(mysql_num_rows($TAB000_sql) > 0){
// estrazione dei record
$TAB000_obj = $data->estrai($TAB000_sql);
$_d1 = $TAB000_obj->TAB000_i_data_ora;
$_d2 = date("d-m-Y", $TAB000_obj->TAB000_i_data_ora);
// visualizzo il contenuto delle variabili
echo '<br>TAB000_i_data_ora:'.$TAB000_obj->TAB000_i_data_ora;
echo '<br>d1:'.$_d1;
echo '<br>d2:'.$_d2;
}
Questo è l'output che ottengo, con il solito 01-01-1970:
Lettura record con DATE_FORMAT:
ddd:02/09/2014
--------------------------------
Lettura record senza DATE_FORMAT:
TAB000_i_data_ora:2014-09-02 17:35:59
d1:2014-09-02 17:35:59
d2:01-01-1970
QUalcuno sa spiegare perchè?