Vérifier qu'un enregistrement existe, faut-il utiliser fetchColumn ?
Bonjour,
Voici mon code pour vérifier si un enregistrement existe.
Mon code fonctionne mais faut t'il plutôt privilégier fetchColumn ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| $idann = (int) $_GET['idann'];
$req = $pdo->prepare('SELECT a.idann, a.content, a.level, a.location, a.amount, u.username, u.email
FROM ad a
INNER JOIN users u ON a.idmbr = u.idmbr
WHERE a.idann = ?');
$req->execute([$idann]);
$ad = $req->fetch();
if (!$ad) {
header('Location: index.php?p=ad/search');
exit();
} |
et je ne comprends pas bien aussi le rowcount, http://php.net/manual/fr/pdostatement.rowcount.php regardez l'exemple numéro 2 "Comptage des lignes retournées par une requête SELECT"
Je cite la doc php :
Citation:
Pour la plupart des bases de données, PDOStatement::rowCount() ne retourne pas le nombre de lignes affectées par une requête SELECT. À la place, utilisez PDO::query() pour faire une requête SELECT COUNT(*), puis utilisez PDOStatement::fetchColumn() pour récupérer le nombre de lignes retournées. Votre application peut ainsi effectuer la bonne action.
donc je ne comprends pas, mon code fonctionne oui, mais est-ce qu'il existe une méthode plus "propre" pour vérifier qu'un enregistrement existe ? :roll:
merci pour votre aide.