Visualizzazione risultati 1 fino 8 di 8

Discussione: Errore sintassi sql con dateadd

  1. #1
    Guest

    Predefinito Errore sintassi sql con dateadd

    Salve a tutti, ho provato ad eseguire la seguente query con php:

    Codice PHP:
    $sql = "INSERT INTO missioni(id_giocatore, inizio, fine) VALUES ( ".$id_giocatore.", now() , dateadd(now(), interval ".$min_missione." minutes))";
    Il problema è che una volta che la eseguo mi viene fuori questo errore:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(now(), interval 10 minut))' at line 1

    Ho provato anche a stampare la query per vedere cosa conteneva ed eccola qua:

    Codice HTML:
    INSERT INTO missioni(id_giocatore, inizio, fine) VALUES ( 39, now() , dateadd(now(), interval 10 minutes))
    Qualcuno riesce a dirmi dove è l'errore ?

  2. #2
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Credo che non vada bene: ad esempio per 'inizio', non vuoi ottenere la stringa "now()", ma il suo valore, giusto?

    Tentiamo così:

    Codice PHP:
    $sql = "INSERT INTO missioni(id_giocatore, inizio, fine) VALUES ( ".$id_giocatore.",".now().",".dateadd(now(),"interval".$min_missione." minutes"))";
    ...anche se non conosco le funzioni now() e soprattutto dateadd...

    Ciao!

  3. #3
    Guest

    Predefinito

    Così mi da errore:

    Parse error: syntax error, unexpected ')' in /membri/webgame/gdr/missione_.php on line 111


    Secondo me non vanno messi tutti gli apici ed i punti di concatenazione...

  4. #4
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Prova così:
    Codice PHP:
    $sql = "INSERT INTO missioni(id_giocatore, inizio, fine)
    VALUES (
    $id_giocatore, NOW(), DATE_ADD(NOW(), INTERVAL $min_missione MINUTE))";

  5. #5
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Ah, scusami: l'ultimo " non ha senso; prova così:
    Codice PHP:
    $sql = "INSERT INTO missioni(id_giocatore, inizio, fine) VALUES ( ".$id_giocatore.",".now().",".dateadd(now(),"interval".$min_missione." minutes"));
    EDIT: anticipato...
    Ultima modifica di alemoppo : 24-12-2009 alle ore 12.16.25

  6. #6
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Ah, scusami: l'ultimo " on ha senso; prova così:
    Codice PHP:
    $sql = "INSERT INTO missioni(id_giocatore, inizio, fine) VALUES ( ".$id_giocatore.",".now().",".dateadd(now(),"interval".$min_missione." minutes"));
    EDIT: anticipato...
    E' sbagliata tutta la sintassi.
    Poi la funzione now e DATE_ADD(non dateadd) sono funzioni di SQL e non del php, perciò vanno inserite dentro gli apici.

  7. #7
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Citazione Originalmente inviato da andreafallico Visualizza messaggio
    E' sbagliata tutta la sintassi.
    Poi la funzione now e DATE_ADD(non dateadd) sono funzioni di SQL e non del php, perciò vanno inserite dentro gli apici.
    ...Pensavo che le funzioni le avesse scritte lui
    Ecco perché ho detto che non conosco le funzioni

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    ...anche se non conosco le funzioni now() e soprattutto dateadd...
    Ciao!
    Ciao!

  8. #8
    Guest

    Predefinito

    Lo script di andreafallico funziona, grazie ;)

    E grazie anche ad alemoppo che almeno ci ha provato :P

    Ciao, e Buone Feste.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •