Data di Sistema

Ciao Gianni,

qual'è il problema di questa query:

$query3="INSERT INTO PIANI VALUES ('$Mat','$riga1[Cod_Esame]','$Anno','SYSDATE','','N')";

perchè quando vado a stampare la tupla non mi compare la data in cui ho fatto l'operazione di inserimento?

GRAZIE!

inviato 11 anni fa
noems
X 0 X

Per usare una funzione di MySQL (SYSDATE) non devi mettere gli apici e ci vogliono le parentesi tonde. Inoltre ti consiglio di usare NOW()

$query3="INSERT INTO PIANI VALUES ('$Mat','$riga1[Cod_Esame]','$Anno',NOW(),'','N')";

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Bisogna fare delle conversioni visto che il tipo date (cioè il tipo dell'attributo interessato) prevede la seguente formattazione:

AAAA-MM-GG

risposto 11 anni fa
noems
X 0 X

Ho provato a fare come mi hai detto, e per ogni tupla, ottengo la tupla con l'attributo Data = "0000-00-00" e un'altra identica tupla (mi riferisco a tutti gli altri attributi) con l'attributo Data = "2005-10-02";

Perchè questo raddoppio di tuple?

risposto 11 anni fa
noems
X 0 X

 :dunno:

non lo so. Se non è troppo lungo, riporta il codice.

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

se hai bisogno della data corrente c'é curdate()

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Ecco il codice:

          for ($I=1; $I <= $Num_Righe; $I++)
            {
             $riga1=mysql_fetch_assoc($ris1);
             $query2="SELECT Min(Anno)AS Min_Anno FROM ANNI WHERE (Cod_E = '$riga1[Cod_Esame]')";
             $ris2= mysql_query($query2,$Connessione) or die('<IMG SRC="No.gif" ALIGN="MIDDLE">Errore nella query4: ' . mysql_error());
             $riga2=mysql_fetch_assoc($ris2);
             $Anno=$riga2[Min_Anno];
           
             $query3="INSERT INTO PIANI VALUES ('$Mat','$riga1[Cod_Esame]','$Anno','','','N')";
             $ris3= mysql_query($query3,$Connessione) or die('<IMG SRC="No.gif" ALIGN="MIDDLE">Errore nella query5: ' . mysql_error());
            }

Se nella INSERT in corrispondenza dell'attributo Data (mi riferisco al 4 a partire da sinistra) metto il valore '' mi vengono restituiti tutti gli esami con l'attributo Data = 0000-00-00.

Se invece inserisco CURDATE()  ottengo le tuple precedenti più le stesse con l'attributo Data aggiornato.

risposto 11 anni fa
noems
X 0 X

metti una echo dell'SQL per ogni query che lanci così sai cosa stai inviando al DB. Quando in uno script ci sono molte variabili è difficile sapere cosa succede all'atto dellesecuzione. Usa la funzione echo per vedere quanto valgono le stringhe e gli interi. usa invece una print_r per vedere il contenuto degli array.

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda