- Home
- Categorie
- Coding e Sistemistica
- PHP
- Semplice quesito sul SELECT
-
Semplice quesito sul SELECT
Ciao a tutti.
Sono alle prime armi sia con il php che con sql e inzio a creare la mia prima "applicazione". Ho un semlicissimo dubbio da porvi:
ho creato una query del tipo :
$query= ' SELECT ordini FROM DB_negozio
WHERE
nome= '.$nome
cognome = '.$cognome
indirizzo = '.$ indirizzo( le variabili nome, cognome e indirizzo provengono da un form che un utente qualsiasi riempie)
Ecco la domanda : Cosa accade se l'utente inserisce (volontariamente o no) solo il nome ? Ditemi qule ipotesi e più veritiera:
- non si considerano le variabili cognome e indirizzo e vengono selezionati tutti gli ordini delle persone che hanno lo stesso nome
- si assegnano in automatico il valori NULL alle altre due variabili e quindi non mi seleziona nulla
- assegna alle due variabili una stringa vuota e non mi seleziona comunque nulla
Vi ringrazio per l'aiuto ... e ... scusatemi se è una domanda scema!
-
Ciao bubba101,
la risposta dovrebbe essere la numero due, perché la tua istruzione SQL diverterà:SELECT ordini FROM DB_negozio WHERE nome= 'Gianni' AND cognome = *null* AND indirizzo = *null*; ```;) EDIT: salvo che tu inizializzi a prescindere le variabili, in tal caso a secondo dell'inizializzazione la risposta potrebbe essere la 3. ;)
-
la risposta precedente è valida.
Tuttavia gestire degli ordini per nome, cognome, indirizzo non è una scelta ottimale. Usa un codice univoco, che potrebbe essere un ID autogenerato in fase creazione del record, oppure il codice fiscale o la partita IVA.Un codice univoco ti permette di non commettere errori e di creare query più snelle.
Nel tuo caso hai tre variabili, dovresti prima testarle e quindi creare una query per ogni possibilità. Tuttavia, ripeto, è una scelta che ti porta ad aumentare la complessità del tuo progetto invece di semplificarla.