Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329

    Virgolette o no in query, e fetch_array nessun risultato

    Non so se in questi giorni mi sono drogato di brutto, ma non capisco perchè
    1)funziona
    Codice PHP:
    $result mysql_query("SELECT * FROM eventi WHERE `$attr` = 1");
    while(
    $arr mysql_fetch_array($result) ){ echo $arr[0]; } 
    2)non funziona
    Codice PHP:
    $result mysql_query("SELECT * FROM eventi WHERE $attr = 1");
    while(
    $arr mysql_fetch_array($result) ){ echo $arr[0]; } 
    3)non funziona
    Codice PHP:
    $result mysql_query("SELECT * FROM eventi WHERE \"$attr\" = 1");
    while(
    $arr mysql_fetch_array($result) ){ echo $arr[0]; } 
    4)non funziona
    Codice PHP:
    $result mysql_query("SELECT * FROM eventi WHERE ".$attr." = 1");
    while(
    $arr mysql_fetch_array($result) ){ echo $arr[0]; } 
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

  2. #2
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329
    Ho capito che c'è una relazione con "show" all'errore visto che è definito come tinyint(1) predefinito "1", anche se io lo avevo settato come booleano.
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

  3. #3
    Originariamente inviato da Donovant
    Ho capito che c'è una relazione con "show" all'errore visto che è definito come tinyint(1) predefinito "1", anche se io lo avevo settato come booleano.
    tutto dipende da cosa contiene $attr

    Sospetto ci sia una parola riservata la dentro.

    le forme giuste che hai elencato sono:

    Codice PHP:
    // 1 nome tra backtick accetta una parola riservata
    $result mysql_query("SELECT * FROM eventi WHERE `$attr` = 1"); 

    // 2 corretto ma non accetta una parola riservata
    $result mysql_query("SELECT * FROM eventi WHERE $attr = 1"); 

    // 3 errato. $attr non e' una stringa
    $result mysql_query("SELECT * FROM eventi WHERE \"$attr\" = 1"); 

    // 4 come il 2
    $result mysql_query("SELECT * FROM eventi WHERE ".$attr." = 1"); 
    ora toglici la curiosita' ....

    echo $attr cosa stampa?

    Se stampa "show" ho vinto una bambolina....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329
    Il 2 funziona sempre con gli altri attributi, cmq non stampa NULLA.
    Niente bambolina
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

  5. #5
    Originariamente inviato da Donovant
    Il 2 funziona sempre con gli altri attributi, cmq non stampa NULLA.
    Niente bambolina
    $attr "DEVE" contenere il nome di un campo. Se il nome del campo e' una parola riservata rileggi il mio post precedente.

    Voglio la bambolina....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329
    $attr contiene il nome (stringa, ovviamente) >show<, ma echo dovrebbe stampare degli ID, niente bambolina.
    Con tutti gli altri campi se faccio "SELECT $campo FROM nomeTabella", funziona, solo con l'attributo >show< NO


    POST: scusa avevo letto male l'echo, pensavo ti riferissi al mio di echo arr[0];
    Ma la bambolina la voglio anche io per una cosa così banale
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

  7. #7
    Originariamente inviato da Donovant
    $attr contiene il nome (stringa, ovviamente) >show<, ma echo dovrebbe stampare degli ID, niente bambolina.
    Con tutti gli altri campi se faccio "SELECT $campo FROM nomeTabella", funziona, solo con l'attributo >show<
    caro il mio omaggiatore di bamboline: SHOW e' una parola riservata infatti la prima query con il backtick funziona. Ma hai riletto i commenti del mio primo posto ??? ....

    anyway per agevolare:

    http://dev.mysql.com/doc/refman/5.1/...ved-words.html

    guarda la tabella ne hai un treno di reserved words tra le quali SHOW che e' nientepopodimeno che un comando.

    Va bene anche una birra come bambolina...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329
    Aaaaaaaaahahahahahahaahh caxxo è un comando, e ora chi ci stava pensando, preferisco la birra, almeno bevo anche io.
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

  9. #9
    Originariamente inviato da Donovant
    Aaaaaaaaahahahahahahaahh caxxo è un comando, e ora chi ci stava pensando, preferisco la birra, almeno bevo anche io.
    Sempre che le birre siano due

    Non utilizzare mai le parole riservate. Si possono anche gestire con i backtick ma sei poi obbligato ad utilizzarli sempre e ti vai complicando inutilmente la vita.

    Ci son tante parole nel mondo... di cui parecchie inutili

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.