Mysql -- vérification existance

Résolu
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   -  
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   -
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

avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   112
 
nb c'est ?

Merci F16, tu es réactif. ;)
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
C'est le nombre d'entrées que retourne la requête.
0
bloodchecker Messages postés 339 Date d'inscription   Statut Membre Dernière intervention   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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   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