"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment vérifier l’existence d’une ligne à l’aide de PDO ?

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

Publié le 2024-11-01
Parcourir:203

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 :

$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';
}

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-> Méthode fetchAll() :

$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

if (!$rows) {
    echo 'No rows found';
}

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

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

if ($stmt->fetchColumn()) echo 'Row found';

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

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729560796. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3