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
Mary-Kate Olsenoriginal
2024-10-22 10:22:30257parcourir

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>

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>

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>

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!

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