Mysql -- vérification existance

Résolu
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.

5 réponses

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    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();
    ?>
    0
  2. LelLex Messages postés 1753 Statut Membre 112
     
    nb c'est ?

    Merci F16, tu es réactif. ;)
    0
  3. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    C'est le nombre d'entrées que retourne la requête.
    0
  4. bloodchecker Messages postés 361 Statut Membre 35
     
    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.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. LelLex Messages postés 1753 Statut Membre 112
     
    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+
    0