Maison > développement back-end > tutoriel php > Comment vérifier l'existence d'une ligne à l'aide de PDO ?

Comment vérifier l'existence d'une ligne à l'aide de PDO ?

Mary-Kate Olsen
Libérer: 2024-10-22 10:22:30
original
256 Les gens l'ont consulté

How to Check for Row Existence Using PDO?

Vérification de l'existence des lignes à l'aide de PDO

Vous avez rencontré des difficultés pour vérifier l'existence des lignes dans une base de données à l'aide de PDO. Pour résoudre ce problème, envisagez la solution suivante :

Comme suggéré dans la réponse, vous pouvez directement vérifier la valeur de retour de la requête. Voici un exemple :

<code class="php">$stmt = $conn->prepare('SELECT * FROM table WHERE ID=?');
$stmt->bindParam(1, $_GET['id'], PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);

if (!$row) {
    echo 'Row does not exist';
}</code>
Copier après la connexion

Dans ce code, $stmt->execute() tente d'exécuter la requête. Si aucune ligne n'est trouvée, $stmt->fetch() renvoie FALSE. Cela vous permet d'utiliser la condition if ($row) pour déterminer si la ligne existe.

De plus, si vous souhaitez vérifier plusieurs lignes ou éviter de récupérer la ligne, vous pouvez utiliser le $stmt-> ;fetchAll() :

<code class="php">$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

if (!$rows) {
    echo 'No rows found';
}</code>
Copier après la connexion

Vous pouvez également demander à MySQL de renvoyer un 1 lorsqu'une ligne est trouvée :

<code class="php">$sql = 'SELECT 1 from table WHERE id = ? LIMIT 1';
$stmt = $conn->prepare($sql);
$stmt->execute([$_GET['id']]);

if ($stmt->fetchColumn()) echo 'Row found';</code>
Copier après la connexion

Cette approche élimine le besoin de récupérer la ligne, améliorer l'efficacité.

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal