Groups | Search | Server Info | Login | Register
Groups > free.it.comp.database.mysql > #891
| Newsgroups | free.it.comp.database.mysql |
|---|---|
| Date | 2015-06-24 01:06 -0700 |
| References | <mm96bv$aua$1@speranza.aioe.org> <809e0576-264b-42c5-98c4-a4c30eb8b52c@googlegroups.com> <mmbg6q$por$1@speranza.aioe.org> |
| Message-ID | <9d3fc9ce-d5e5-4e0c-bc7f-2b94cc823155@googlegroups.com> (permalink) |
| Subject | Re: usare le variabili in una query |
| From | "lluuccaa1@gmail.com" <lluuccaa1@gmail.com> |
Ciao, mi permetto di darti un consiglio, adotta un buon ambiente di sviluppo.
Il mio consiglio è di usare Intellij, per la mia esperienza è il migliore.
Nel tuo caso ti avrebbe segnalato l'errore di sintassi e quasi sempre ti consiglia la soluzione.
Intellij, ha al suo interno tutti gli strumenti per lo sviluppo, potresti avere qualche difficoltà per abituarti all'uso, ma ne vale la pena.
Tornando a noi, la concatenazione la puoi fare in diversi modi.
Non prendere per oro colato quello che ti dirò, non programmo in php da un decennio.
una stringa può essere indicata sia così "lorem ipsum" che 'lorem ipsum', in entrambi i casi stampando le due stringhe avresti il seguente risultato
lorem ipsum
ma ipotizziamo di voler stampare a video la seguente stringa
io 'sono'
oppure
io "sono"
la stringa da creare per il primo caso è abbastanza facile "io 'sono'", la stringa è contenuta tra due (").
per il secondo caso? scrivendo ("io "sono"") come fa il linguaggio a capire dove inizia e finisce la stringa? il linguaggio capirebbe che c'è una stringa ("io ") una parola senza senso (sono) e in fine un'altra stringa ("").
il carattere (") è un carattere speciale e bisogna indicare esplicitamente che si tratta di un carattere da stampare e non un carattere speciale, per farlo bisogna usare (\) prima del carattere da che vuoi che venga interpretato come stringa, nel nostro caso bisognerà scrivere: ("io \"sono\"")
Buon lavoro.
Il giorno martedì 23 giugno 2015 13:33:49 UTC+2, liftman ha scritto:
> <lluuccaa1@gmail.com> ha scritto nel messaggio
> news:809e0576-264b-42c5-98c4-a4c30eb8b52c@googlegroups.com...
> > Ciao, la prima cosa che devi fare è stampare a video la query che generi,
> > in questo modo puoi renderti conto dove sia il problema, andare a
> > tentativi è utile solo per impazzire.
>
> ma porca zozza... non ci avevo pensato a fare un "echo" per vedere cosa
> veniva fuori...
>
> > la prima cosa che noto nella tua concatenazione di stringhe è l'assenza
> > degli apostrofi ' , mentre nella query statica(quella che funziona) sono
> > presenti, nella concatenazione mancano.
> > la seconda cosa che noto è che dove crei prima la variabile (approccio
> > corretto), poi non ne fai uso, nella concatenazione vedo lo stesso codice
> > del primo esempio, se crei la variabile poi usala.
>
> la mancanza dell'uso della variabile è un refuso, ho incollato senza
> guardare cosa incollavo...
>
> avrei dovuto fare così ed avrebbe funzionato:
>
> $genere = $_REQUEST['genere'];
> $query1 = " SELECT * FROM libri WHERE genere = '$genere' ORDER BY data";
>
> ho solo fatto un'asserzione errata, infatti pensavo che scrivendo la
> variabile tra i singoli apici ( '$genere' ) non venisse interpolata, e
> scrivendo così:
>
> $query1 = " SELECT * FROM libri WHERE genere =" . " $genere" . " ORDER
> BY data";
>
> mi usciva un messaggio di errore...
> Oggi ho imparato una cosa nuova :-)
> Grazie per l'aiuto!
>
>
>
>
> --
> Fri(END), Boyfri(END), Girlfri(END), Bestfri(END). Everything has an END
> except...Fam(ILY)! It Has 3 Letters that say I LOVE YOU
Back to free.it.comp.database.mysql | Previous | Next | Find similar
Re: usare le variabili in una query "lluuccaa1@gmail.com" <lluuccaa1@gmail.com> - 2015-06-24 01:06 -0700
csiph-web