Prima di tutto, sono nuovo di DOP. Sto lavorando a un piccolo progetto per migliorare me stesso.PHP - PDO - Come recuperare più righe con una sola query?
sto usando un codice come questo per andare a prendere singola riga dal mio database:
$sql = "SELECT * FROM users WHERE ID = 1";
$sql_prepare = $db -> prepare($sql);
$result = $db -> query($sql);
$user = $result -> fetch(PDO::FETCH_ASSOC);
ed eco alcun risultato di quella riga come questa:
echo $user['ID'];
echo $user['Name'];
ho bisogno di recuperare più righe dal mio database usando solo una query. Non voglio interrogare più e più volte per ogni riga di cui ho bisogno.
La prima cosa che è venuto nella mia mente stava cercando questo:
$sql = "SELECT * FROM users WHERE ID = 1 AND ID = 4 AND ID = 17";
$sql_prepare = $db -> prepare($sql);
$result = $db -> query($sql);
$user = $result -> fetch(PDO::FETCH_ASSOC);
Ma non ha funzionato come previsto. Ho ricercato forum di codifica per un paio d'ore, ma tutte le risposte riguardavano l'utilizzo del metodo fetchAll e quindi l'output dei risultati utilizzando il ciclo foreach. Non voglio filtrare il codice caricando l'intera tabella del database. Voglio solo caricare righe specifiche dal mio database usando solo una query.
Quindi la mia domanda è:
Come posso prendere molteplici e specifiche righe dal mio database senza utilizzare il metodo fetchAll e con una sola ricerca?
Grazie per le vostre risposte e il tempo in anticipo.
Ci scusiamo se la domanda è stata posta prima.
Cercare operatore SQL ** O **. – Michas
FetchAll non effettua richieste al tuo database. Funziona sul risultato della tua richiesta. Se la tua query restituisce un risultato allora fetchall ti darà un risultato. Se restituisce 2, quindi sarà fetchall. –
@DanielNielson Grazie per aver spiegato. :) – OnrS90