Mysql -- vérification existance
Résolu
LelLex
Messages postés
1753
Statut
Membre
-
LelLex Messages postés 1753 Statut Membre -
LelLex Messages postés 1753 Statut Membre -
Bonjour à tous,
J'aimerais pourvoir vérifier si une ligne venant de la table MySQL existe.
Je sais pas si je suis explicite. ( je ne sais trop comment expliquer mon problème ! )
Par exemple, j'ai une page : page.php?accord=5
- 5 étant l'id.
Ma table commence par l'id 5 et non pas 0 ( j'ai quand même l'auto incrémentation ! )
Donc j'aimerais afficher un message d'erreur si quelque trifouille, et met 2 à la place de 5 dans :
page.php?accord=5 --> page.php?accord=2
En fait, il faudrait en amont demander à MySQL de vérifier s'il y a une ligne d'id 2.
Si oui le traitement se fait.
Autrement, il y a un message d'erreur.
Merci d'avance.
Cordialement.
LelLex.
J'aimerais pourvoir vérifier si une ligne venant de la table MySQL existe.
Je sais pas si je suis explicite. ( je ne sais trop comment expliquer mon problème ! )
Par exemple, j'ai une page : page.php?accord=5
- 5 étant l'id.
Ma table commence par l'id 5 et non pas 0 ( j'ai quand même l'auto incrémentation ! )
Donc j'aimerais afficher un message d'erreur si quelque trifouille, et met 2 à la place de 5 dans :
page.php?accord=5 --> page.php?accord=2
En fait, il faudrait en amont demander à MySQL de vérifier s'il y a une ligne d'id 2.
Si oui le traitement se fait.
Autrement, il y a un message d'erreur.
Merci d'avance.
Cordialement.
LelLex.
5 réponses
-
Il suffit de faire un simple COUNT() :
<?php require 'connect.php'; $sql = 'SELECT COUNT(*) AS `nb` FROM `table` WHERE `id` = '.intval($_GET['accord']); $req = mysql_query($sql); $data = mysql_fetch_assoc($req); $nb = $data['nb']; if($nb > 0) { // ... } else { echo 'Entrée inexistante.'; } mysql_close(); ?> -
-
C'est le nombre d'entrées que retourne la requête.
-
tu peux aussi traiter au moment de la "vrai" requete, avant de faire un mysql_fetch_array($query) (ou equivalent) tu fait un mysql_count($query) et si tu as 0 c'est que la table n'a aucune entrée.
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Merci de vos réponses.
En fait j'ai utilisé mysql_num_rows(); puisque mysql_count(); n'existe pas.
Et quand ca me retourne la valeur 0, je met un message d'erreur.
A+