Verifier si pseudo est deja dans la base de donnée

Résolu
Stef -  
 Stef -
Bonjour,

je voudrais simplement verifier si le pseudo que j'ai fait saisir est deja dans la base ... Je me prend la tete avec ça depuis plus d'une heure et demi ... (oui mon autre page renvoi bien ce qu'il faut puisque je reussi a ajouter des pseudos dans ma BdD)
Merci

include('connect.php');
$pseudo=$_POST['nom'];

$verif ="SELECT pseudo FROM compte";
if($verif !== $pseudo){
echo 'OK';
}
else{ echo 'L\'administrateur existe déja.';}

4 réponses

Résumé de la discussion

Le problème central est de vérifier si un pseudo saisi est déjà présent dans la base de données avant toute insertion, afin d’éviter les doublons, garantissant une gestion cohérente des comptes. Des solutions essentielles passent par une requête préparée du type SELECT COUNT(*) FROM compte WHERE pseudo = :p, puis binding du paramètre, puis exécution; si le compte est absent, l’insertion est réalisée. Certains échanges soulignent aussi l’emploi d’un autre schéma avec PDO et fetch pour vérifier les résultats, et l’importance d’utiliser des paramètres nommés plutôt que des concaténations. En complément, l’ajout d’une contrainte UNIQUE sur la colonne pseudo garantit l’unicité même en cas de concurrence, côté base, et peut être accompagné d’un message clair en cas de doublon.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 606
     
    Salut,

    Tu essaies de comparer la valeur de $verif, mais $verif, c'est ça :

    $verif ="SELECT pseudo FROM compte";

    ça ne sera jamais rien d'autre.

    Il faut que tu exécutes cette requêtes sur ta base de données, puis que tu récupères la valeur.
    0
  2. jeremy.s Messages postés 1248 Statut Membre 79
     
    Salut !

    Il faut executé ta requete ;-)
    Il ne suffit pas de simplement écrire ta requete comme ca.
    Il existe des objets pour faire des requetes dans une base de données, et des modèle de programmation exprès pour cela.
    Regarde de ce coté la ;-)
    https://www.php.net/manual/fr/book.pdo.php
    Regarde bien les exemples et tu y arriveras !
    0
  3. Stef
     
    Ah en gros il me faut un mysql_ ... quelque chose ok !
    0
  4. jeremy.s Messages postés 1248 Statut Membre 79
     
    Plutot un PDO ;-)
    Regarde le lien que j'ai mis, et sinon il y a énormément de tuto sur le net sur la PDO, que je te conseil à regarder ;-)
    Google : tutoriel PDO php
    0
    1. Stef
       
      J'suis en train de chercher sur ton lien, oui merci
      0
    2. Stef
       
      $verif ="SELECT pseudo FROM compte";
      $test->query($verif);
      if($test !== $pseudo){
      echo 'OK';
      j'ai une erreur Fatal error: Call to a member function query() on a non-object
      0
    3. jeremy.s Messages postés 1248 Statut Membre 79
       
      Il faut déclaré ton objet :

      $bd = new PDO(info de connexion);

      $req = $db->prepare('SELECT count(*) FROM compte where pseudo like "%:p%"'); // tu prépare ta requete
      $req->binValue(':p', $pseudo, PDO::PARAM_STR); // Tu insères le parametre
      $res = $req->execute() or die(print_r($req->errofInfo())); // Tu execute la requete
      if((bool)$res->fetch()) // Tu récupère le résultat et tu le compare
      {
      echo 'l'administrateur existe déjà';
      }
      0
    4. jamalelomri Messages postés 1 Statut Membre
       
      avant de faire le test
      if($verif !== $pseudo){
      echo 'OK';
      }
      il faut d'abord executer la requette $verif avec la fonction mysql_query.
      voici ton nouvaeu code a integrer :

      $verif =mysql_query("SELECT pseudo FROM compte where pseudo='$pseudo'");
      if($verif!=0){
      echo"ok ";

      }else{
      echo" non valide";
      }
      0
    5. jeremy.s Messages postés 1248 Statut Membre 79
       
      $res[0] :)
      1