vérif dans la base de donnée et message d'erreur

Yam
Petit nouveau ! | 8 Messages

04 juil. 2005, 10:27

Bonjour,
J'aurais voulu savoir comment vérifier après un formulaire que les champs récupérés n'existent pas deja dans la table de la BDD, et mettre un message d'erreur du style : "Ce champ existe dèjà. Veuillez en saisir un autre."
Merci

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

04 juil. 2005, 10:34

si par exemple tu récupères un login, lors d'une inscription, tu peux utiliser COUNT(*)
// variable récupérée du formulaire
$login = "toto";

$requete = "SELECT COUNT(*) AS nb_fiche FROM fiches WHERE login = '".$login."'";
$exec = mysql_query($requete);
$resultat = mysql_fetch_array($exec);

$nb_fiche = $resultat["nb_fiche"];

if ($nb_fiche > 0) {
   echo "Ce login est déjà pris";
}
et voilà

Eléphant du PHP | 92 Messages

04 juil. 2005, 10:35

si tu travailles sur une clé primaire, l'insertion ne marchera pas et si tu indiques
 or die(mysql_error())
apres ton
mysql_query()
, il t'indiquera si tu as un duplicata pour la clé.

si tu travailles sur des champs autres que primaires, tu fais simplement un:
select * from tatable where `tonchamp`='tavaleur'
et ensuite, tu recuperes le nombre d'enregistrement récupérés avec
$nombre=mysql_num_rows($tonresult)
si ce nombre est superieur à 0, tu as déja un enregistrement dans ta table.

Yam
Petit nouveau ! | 8 Messages

04 juil. 2005, 16:35

merci je vais essayer de faire avec vos conseils :)