Maison  >  Article  >  développement back-end  >  Comment utiliser PDO pour une requête SELECT ? (exemple de code)

Comment utiliser PDO pour une requête SELECT ? (exemple de code)

藏色散人
藏色散人original
2019-03-15 14:31:515110parcourir

Il existe plusieurs façons d'exécuter des requêtes SELECT à l'aide de PDO. Leurs différences résident principalement dans l'existence de paramètres, de types de paramètres et de types de résultats. Je montrerai des exemples pour chaque cas afin de pouvoir choisir celui qui convient le mieux.

Comment utiliser PDO pour une requête SELECT ? (exemple de code)

Requête SELECT sans paramètres

S'il n'y a pas de variables à utiliser dans la requête, nous pouvons utiliser le traditionnel méthode query() .

// 选择所有用户
$stmt = $pdo->query("SELECT * FROM users");

Cela nous donnera un objet $stmt qui pourra être utilisé pour obtenir les lignes réelles.

Obtenir une ligne

Si une requête ne renvoie qu'une seule ligne, alors vous pouvez appeler la méthode fetch() de la variable $stmt :

//获取最后一个注册用户
$stmt = $pdo->query("SELECT * FROM users ORDER BY id DESC LIMIT 1");
$user = $stmt->fetch();

Remarque, en PHP, vous pouvez appeler la méthode de l'objet renvoyé, par exemple :

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

Interroger plusieurs lignes

Il existe deux façons de récupérez les plusieurs lignes renvoyées par la requête OK. La méthode la plus traditionnelle consiste à utiliser la méthode fetch() dans une boucle while :

$stmt = $pdo->query("SELECT * FROM users");
while ($row = $stmt->fetch()) {
    echo $row[&#39;name&#39;]."<br />\n";
}

Cette méthode peut être recommandée si vous devez traiter les lignes une par une. Par exemple, si un tel traitement est la seule action à entreprendre, ou si les données doivent être prétraitées d'une manière ou d'une autre avant utilisation.

Mais la meilleure façon d'obtenir plusieurs lignes de données qui seront affichées sur la page Web est d'appeler la méthode appelée fetchAll(). Il placera toutes les lignes renvoyées par la requête dans un tableau PHP, qui pourra ensuite être utilisé pour afficher les données à l'aide d'un modèle (ceci est considéré comme bien meilleur que de faire écho aux données directement pendant la récupération).

Le code est le suivant :

$data = $pdo->query("SELECT * FROM users")->fetchAll();
foreach ($data as $row) {
    echo $row[&#39;name&#39;]."<br />\n";
}

Requête SELECT avec paramètres

Mais la plupart du temps, on doit en utiliser un ou deux variables dans la requête, dans ce cas, nous devons utiliser une instruction préparée (également connue sous le nom de requête paramétrée), préparer d'abord une requête avec des paramètres (ou des marqueurs d'espace réservé), puis l'exécuter, en envoyant respectivement les variables.

Dans PDO, nous pouvons utiliser à la fois des espaces réservés positionnels et des espaces réservés nommés. Pour les requêtes simples, personnellement, je préfère les espaces réservés positionnels, je les trouve moins verbeux, mais c'est entièrement une question de préférence personnelle.

Requête SELECT utilisant des espaces réservés positionnels

//通过id选择特定的用户
$stmt = $pdo->prepare("SELECT * FROM users WHERE id=?");
$stmt->execute([$id]); 
$user = $stmt->fetch();

Requête SELECT utilisant des espaces réservés nommés

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

Cet article est un introduction à l'utilisation de PDO pour la requête SELECT. J'espère que cela sera utile aux amis dans le besoin !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn