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!