Mysql -- vérification existance

Résolu
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. 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();
    ?>
    1. 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.
      1. 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+