Es gibt verschiedene Möglichkeiten, SELECT-Abfragen mit PDO auszuführen. Ihre Unterschiede liegen hauptsächlich in der Existenz von Parametern, Parametertypen und Ergebnistypen. Ich werde für jeden Fall Beispiele zeigen, damit ich das am besten geeignete auswählen kann.
SELECT-Abfrage ohne Parameter
Wenn in der Abfrage keine Variablen verwendet werden sollen, können wir die traditionelle query()-Methode .
// 选择所有用户 $stmt = $pdo->query("SELECT * FROM users");
Eine Zeile abrufen
Wenn eine Abfrage nur eine Zeile zurückgibt, können Sie die fetch()-Methode der $stmt-Variablen aufrufen://获取最后一个注册用户 $stmt = $pdo->query("SELECT * FROM users ORDER BY id DESC LIMIT 1"); $user = $stmt->fetch();
$user = $pdo->query("SELECT * FROM users ORDER BY id DESC LIMIT 1")->fetch();
Mehrere Zeilen abfragen
Es gibt zwei Möglichkeiten, das Vielfache zu erhalten Von der Abfrage zurückgegebene Zeilen. Die traditionellste Methode ist die Verwendung der fetch()-Methode in einer While-Schleife:$stmt = $pdo->query("SELECT * FROM users"); while ($row = $stmt->fetch()) { echo $row['name']."<br />\n"; }
fetchAll(). Alle von der Abfrage zurückgegebenen Zeilen werden in einem PHP-Array abgelegt, das später zur Ausgabe der Daten mithilfe einer Vorlage verwendet werden kann (dies wird als viel besser angesehen, als die Daten direkt während des Abrufs wiederzugeben).
Der Code lautet wie folgt:$data = $pdo->query("SELECT * FROM users")->fetchAll(); foreach ($data as $row) { echo $row['name']."<br />\n"; }
SELECT-Abfrage mit Parametern
Aber meistens müssen wir eine oder zwei Variablen verwenden In diesem Fall sollten wir einevorbereitete Anweisung (auch parametrisierte Abfrage genannt) verwenden, um zunächst eine Abfrage mit Parametern (oder Platzhaltermarkierungen) vorzubereiten und sie dann auszuführen und jeweils die Variablen zu senden.
In PDO können wir sowohl Positionsplatzhalter als auch benannte Platzhalter verwenden. Für einfache Abfragen bevorzuge ich persönlich Positionsplatzhalter. Ich finde sie weniger ausführlich, aber das ist ganz und gar eine Frage der persönlichen Präferenz.SELECT-Abfrage mit Positionsplatzhaltern
//通过id选择特定的用户 $stmt = $pdo->prepare("SELECT * FROM users WHERE id=?"); $stmt->execute([$id]); $user = $stmt->fetch();
SELECT-Abfrage mit benannten Platzhaltern
// 通过id选择特定的用户 $stmt = $pdo->prepare("SELECT * FROM users WHERE id=:id"); $stmt->execute(['id' => $id]); $user = $stmt->fetch();
Das obige ist der detaillierte Inhalt vonWie verwende ich PDO für eine SELECT-Abfrage? (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!