Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 28
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    472

    [MySql]utilizzare il campo come indice di un array nella where di una query

    Domandina (credo) semplice.

    In una query dovrei usare il CAMPO (che per semplicità chiamo proprio "campo") di una tabella come indice di un array.
    Io ho fatto così:

    codice:
    [ometto il resto] 
    WHERE '$a[campo]=1'
    Non mi funziona.
    Sbaglio la sintessi?
    Grazie

  2. #2

    Re: [MySql]utilizzare il campo come indice di un array nella where di una query

    Originariamente inviato da mld
    Domandina (credo) semplice.

    In una query dovrei usare il CAMPO (che per semplicità chiamo proprio "campo") di una tabella come indice di un array.
    Io ho fatto così:

    codice:
    [ometto il resto] 
    WHERE '$a[campo]=1'
    Non mi funziona.
    Sbaglio la sintessi?
    Grazie
    ... e perchè gli apici?!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    472
    In una SELECT quando confronto un campo di una tabella con una variabile faccio così:

    WHERE campo1='$b'

    Nella fattispecie ho provato a togliere gli apici ma dà errore...

  4. #4
    Originariamente inviato da mld
    In una SELECT quando confronto un campo di una tabella con una variabile faccio così:

    WHERE campo1='$b'

    Nella fattispecie ho provato a togliere gli apici ma dà errore...
    Ho capito, ma quello che hai scritto sopra non combacia con quanto da te postato all'inizio:

    Codice PHP:
    WHERE '$a[campo]=1' 
    semmai così:

    Codice PHP:
    WHERE $a[campo]='1' 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    472
    Avevo sbagliato a postare....scusa...

    Ho comunque provato in questi due modi:

    WHERE '$a[campo]'='1'

    WHERE '$a[campo]'=1

    e non funziona.



    Ho provato in questi due modi:

    WHERE $a[campo]='1'

    WHERE $a[campo]=1

    e dà errore.

    In pratica vorrei appurare se è lecito mettere un array php con un indice che invece appartiene alla tabella di Mysql...

  6. #6
    Originariamente inviato da mld
    Avevo sbagliato a postare....scusa...

    Ho comunque provato in questi due modi:

    WHERE '$a[campo]'='1'

    WHERE '$a[campo]'=1

    e non funziona.



    Ho provato in questi due modi:

    WHERE $a[campo]='1'

    WHERE $a[campo]=1

    e dà errore.

    In pratica vorrei appurare se è lecito mettere un array php con un indice che invece appartiene alla tabella di Mysql...
    Permettimi, ma nono si tratta di "provare", si tratta di ragionare e fare le cose logicamente. Una query non è altro che una stringa per cui non vedo perchè non debba funzionare la sostituzione di variabili.
    In questi casi basta fare la cosa più semplice, banale e logica, stampare anche mediante un semplice echo la query prima di eseguirla ed eventualmente aggiungere un mysql_error() per vedere l'errore che essa genera.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Quando ci sono errori del genere puoi anche visualizzare i valori delle variabili prima di effettuare la query.

    in alternativa potresti mettere il valore che ti serve in una variabile e poi fare la query

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    472
    Ma io infatti ho provato a fare così:

    WHERE '$a[1]'='1'

    e così funziona!

    Ma quando CAMPO vale 1 (che dovrebbe essere la stessa cosa) non mi funziona

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    472
    Visto che la mia WHERE è composta da una serie di AND ho provato a simulare volutamente un errore scrivendo così (in rosso l'errore simulato)

    WHERE $rez[1]=a AND '$a[campo']='1'

    ed utilizzando la funzione mysql-error()

    Il risultato è questo:

    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 '=a AND ''=1 ...

    Sembra che non riesca a leggere una variabile in array contenente come indice un campo della tabella....
    Il campo della tabella "CAMPO" è settato come uno SMALLINT e provando a mettere nella WHERE campo='1' (per esempio) funziona così come scrivendo '$a[1]'='1' funziona...

  10. #10
    se ho intuito quello che vuoi fare allora non si puo fare in modo cosi diretto, ma puo darsi che ho capito male

    ti consiglio di:
    postare tutta la query,
    la struttura della tabella del db ,
    e spiegare meglio il tuo obiettivo

    solo cosi se ne esce
    semplicità ... al sol nominarla sembra svanire

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.