Heim > Backend-Entwicklung > PHP-Tutorial > Wie verwende ich PDO für eine SELECT-Abfrage? (Codebeispiel)

Wie verwende ich PDO für eine SELECT-Abfrage? (Codebeispiel)

藏色散人
Freigeben: 2023-04-05 16:06:01
Original
5157 Leute haben es durchsucht

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.

Wie verwende ich PDO für eine SELECT-Abfrage? (Codebeispiel)

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");
Nach dem Login kopieren

Dadurch erhalten wir ein $stmt-Objekt, das zum Abrufen der tatsächlichen Zeilen verwendet werden kann.

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();
Nach dem Login kopieren

Beachten Sie, dass Sie in PHP die Methode des zurückgegebenen Objekts aufrufen können, z. B.:

$user = $pdo->query("SELECT * FROM users ORDER BY id DESC LIMIT 1")->fetch();
Nach dem Login kopieren

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[&#39;name&#39;]."<br />\n";
}
Nach dem Login kopieren

Diese Methode kann empfohlen werden, wenn Sie Zeilen einzeln verarbeiten müssen. Wenn beispielsweise eine solche Verarbeitung die einzige erforderliche Maßnahme ist oder die Daten vor der Verwendung auf irgendeine Weise vorverarbeitet werden müssen.

Aber der beste Weg, um mehrere Datenzeilen zu erhalten, die auf der Webseite angezeigt werden, ist der Aufruf der Methode

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[&#39;name&#39;]."<br />\n";
}
Nach dem Login kopieren

SELECT-Abfrage mit Parametern

Aber meistens müssen wir eine oder zwei Variablen verwenden In diesem Fall sollten wir eine

vorbereitete 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();
Nach dem Login kopieren

SELECT-Abfrage mit benannten Platzhaltern

// 通过id选择特定的用户
$stmt = $pdo->prepare("SELECT * FROM users WHERE id=:id");
$stmt->execute([&#39;id&#39; => $id]); 
$user = $stmt->fetch();
Nach dem Login kopieren

Dieser Artikel Dieser Artikel ist eine Einführung in Die Verwendung von PDO für die SELECT-Abfrage wird hoffentlich für Freunde in Not hilfreich sein.

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!

Verwandte Etiketten:
pdo
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage