没有参数的SELECT查询
假如查询中没有要运用的变量,我们能够运用传统的query()要领。
// 挑选一切用户 $stmt = $pdo->query("SELECT * FROM users");
这将给我们一个$stmt对象,它能够用来猎取现实的行。
猎取一行
假如一个查询只返回一行,那末你能够挪用$stmt变量的fetch()要领:
//猎取末了一个注册用户 $stmt = $pdo->query("SELECT * FROM users ORDER BY id DESC LIMIT 1"); $user = $stmt->fetch();
注重,在PHP中,你能够挪用已返回对象的要领,如:
$user = $pdo->query("SELECT * FROM users ORDER BY id DESC LIMIT 1")->fetch();
查询多行
有两种要领能够猎取查询返回的多行。最传统的要领是在while轮回中运用fetch()要领:
$stmt = $pdo->query("SELECT * FROM users"); while ($row = $stmt->fetch()) { echo $row['name']."<br />\n"; }
假如必需逐一处置惩罚行,能够引荐运用此要领。比方,假如如许的处置惩罚是唯一须要采用的操纵,或许数据在运用之前须要以某种体式格局举行预处置惩罚。
然则猎取将显现在web页面上的多行数据的最好要领是挪用名为fetchAll()要领。它会将查询返回的一切行放入PHP数组中,今后能够运用模板输出数据(这被以为比在猎取历程中直接回显数据要好很多)。
代码以下:
$data = $pdo->query("SELECT * FROM users")->fetchAll(); foreach ($data as $row) { echo $row['name']."<br />\n"; }
带参数的SELECT查询
然则大多数时刻,我们必需在查询中运用一两个变量,在这类状况下,我们应当运用一个预处置惩罚语句(也称为参数化查询),首先用参数(或占位符标记)预备一个查询,然后实行它,离别发送变量。
在PDO中,我们能够同时运用位置占位符和定名占位符。关于简朴的查询,就我个人而言,我更喜欢位置占位符,我发明它们不那末冗杂,但这完全是个人喜欢的题目。
运用位置占位符的SELECT查询
//经由过程id挑选特定的用户 $stmt = $pdo->prepare("SELECT * FROM users WHERE id=?"); $stmt->execute([$id]); $user = $stmt->fetch();
运用定名占位符的SELECT查询
// 经由过程id挑选特定的用户 $stmt = $pdo->prepare("SELECT * FROM users WHERE id=:id"); $stmt->execute(['id' => $id]); $user = $stmt->fetch();
本篇文章就是关于运用PDO举行SELECT查询的相干引见,愿望对须要的朋侪有所协助!
以上就是怎样运用PDO举行SELECT查询?(代码示例)的细致内容,更多请关注ki4网别的相干文章!