Visualizzazione risultati 1 fino 6 di 6

Discussione: errore inspiegabile php mySQL

  1. #1
    L'avatar di Gianmarco89
    Gianmarco89 non è connesso Utente attivo
    Data registrazione
    28-11-2004
    Messaggi
    473

    Predefinito errore inspiegabile php mySQL

    Codice PHP:
    $dati = mysql_query("SELECT DATE_FORMAT(data, '%d/%m/%Y') AS data2, id, nome, cognome, messaggio, email, giorno, ora FROM ws_tab WHERE id = $where ") or die ("risultato errato :".mysql_error());
    sapete dirmi perchè questa query genera questo errore

    risultato errato :Errore di sintassi nella query SQL vicino a '' linea 1
    sto diventando scemo per capirlo...

    ciao e grazie
    Coming soon...

    OnlyDesign.org - semplicità e stile


    ciao!

  2. #2
    Guest

    Predefinito

    Premettendo che non ho mai usato DATE_FORMAT e che quindi non so come si usi, assicurati che la var $where sia correttamente popolata (magari semplicemente stampandola) e racchiudila in due single quote '$where'


    Ciaooooo!!!!!!

  3. #3
    L'avatar di radioradianti
    radioradianti non è connesso Utente storico
    Data registrazione
    26-11-2003
    Residenza
    Roma
    Messaggi
    1,000

    Predefinito

    Citazione Originalmente inviato da debug
    .........e racchiudila in due single quote '$where'
    Racchiudere la variabile tra single quote però è necessario soltanto se il campo a cui si fa riferimento è di tipo stringa (varchar ecc. ecc.).
    In caso sia un numerico i single quote non servono o sbaglio?

    Ciao

    Leandro

    E' on line il numero 12 di Topolinux - Totalmente rinnovato!
    TopoLinux è anche chat! irc.azzurra.org canale #topolinux
    La semplicità di questo dono è inversamente proporzionale alla qualità della nostra amicizia

  4. #4
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Guarda, la sintassi mi sembra corretta.. quindi il problema è del valore di $where

    solo che.. visto che come hai detto tu stesso l'errore nella query è "inspiegabile"
    oltre a postarci il codice php (che ha variabili di cui non si sa il contenuto come detto su) avresti dovuto stampare il valore stringa della query risultante nell'errore o prima come vuoi..
    Insomma fai così:

    Codice PHP:
    $querystr = "SELECT DATE_FORMAT(data, '%d/%m/%Y') AS data2, id, nome, cognome, messaggio, email, giorno, ora FROM ws_tab WHERE id = $where ";
    $dati = mysql_query($querystr) or die ("query=$querystr <br /> Risultato errato :".mysql_error());
    Per es, se allo script php non arriva -per qualche altro motivo, come sospetto- il parametro where o quello che è.. dunque $where è VUOTO, quindi con questa modifica ora nel messaggio di errore vedrai:
    Codice:
    query=SELECT DATE_FORMAT(data, '%d/%m/%Y') AS data2, id, nome, cognome, messaggio, email, giorno, ora FROM ws_tab WHERE id = 
    Risultato errato :Errore di sintassi nella query SQL vicino a '' linea 1
    Se invece come sospettava debug in $where hai un'espressione SQL più complessa controlla le virgolette o quantomeno ora printaci il messaggio d'errore con il valore della query completo
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  5. #5
    L'avatar di Gianmarco89
    Gianmarco89 non è connesso Utente attivo
    Data registrazione
    28-11-2004
    Messaggi
    473

    Predefinito

    ok ho controllato tutto e mi è bastato mettere un $where=$_GET[where] e adesso funziona perfettamente grazie mille a tutti, pensavo che la variabile dall'URL si leggesse in automatico...

    ciauz e graziez
    Coming soon...

    OnlyDesign.org - semplicità e stile


    ciao!

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da Gianmarco89
    ok ho controllato tutto e mi è bastato mettere un $where=$_GET[where] e adesso funziona perfettamente grazie mille a tutti, pensavo che la variabile dall'URL si leggesse in automatico...

    ciauz e graziez
    Quando sviluppi scripts in locale, setta nel php.ini il conf_global su Off, così le tue pag. php saranno più sicure e non ti daranno questo tipo di grattacapi quando vai ad effettuare l'upload sul server di un qualsiasi ISP che ti fornisce lo spazio web.

    Chiudo visto che il prob è risolto.

    Bye.

Regole di scrittura

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