Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Select ... from ... where!

    include 'connect.php';
    $sql="SELECT * FROM mp WHERE destinatario='{$_SESSION['user']}' AND read='1'";
    $result=mysql_query($sql,$connect) or die (mysql_error());
    $n = mysql_affected_rows($connect);
    echo 'risultati $n';

    Tramite select faccio una ricerca nella tabella dove sono presenti elementi con il nick della persona loggata ($_SESSION['user']) e valore read 1 ... e dopo tramite mysql_affected_rows dò alla variabile n il numero di valori ottenuti e li stampo a schermo con un echo... però ho un 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 'read='1'' at line 1

    Help

  2. #2
    hai provato a togliere la parantesi graffa?

  3. #3
    Senza la graffa ... errore

    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\pm\home.php on line 10

  4. #4
    e se provi a modificare questa linea:

    Codice PHP:
    $sql="SELECT * FROM mp WHERE destinatario='{$_SESSION['user']}' AND read='1'"
    in:

    Codice PHP:
    $sql="SELECT * FROM mp WHERE destinatario=($_SESSION['user']) AND read='1'"

  5. #5
    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\pm\home.php on line 11


    :/

    Ho provato anche togliendo del tutto session ... sostituendolo con una variabile ... ma niente ...


    $nome= $_SESSION['user'];
    $sql="SELECT * FROM mp WHERE destinatario='$nome' AND read='1'";

  6. #6
    A quanto pare il problema è il campo "read" della tabella "mp" ... infatti se metto qualunque altro campo al posto di read = '...' ... non dà errore

    es.

    $sql="SELECT * FROM mp WHERE destinatario='$nome' AND mittente='$nome'";

    ovviamente il risultato è 0 visto che non trova nulla ... ma non dà alcun errore ... invece se al posto di mittente sostituisco read mi esce l'errore ...

    read nella tabella è un INT con valore predefinito 1 ...


    EDIT:

    Ho modificato il nome del campo read con rd ... e ora funziona ...

    MISTERO DELLA FEDE

  7. #7
    meglio così

    quindi la query che usi ora qual'é?

  8. #8
    La stessa ... cambia solo read -> rd

    $nome= $_SESSION['user'];
    $sql="SELECT * FROM mp WHERE destinatario='$nome' AND rd='1'";

  9. #9
    forse perché read é anche un comando usato da MySQL? può essere?

  10. #10
    infatti, probabilmente l'errore era quello, guarda qui:

    http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.