CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Verifier une valeur dans une BDD

Styfore
Styfore
Niveau 10
08 décembre 2006 à 22:06:16

Bonjour,
voici mon problème :
Imaginons que quelqu´un veuille se connecter à un site, on va donc vérifier une fois le formulaire envoyer si l´utilisateur est inscrit (après le mot de passe, mais bon, c´est le même problème ^^ )
Donc moi avant je faisais ça :

$donnees = mysql_query("SELECT * FROM inscrits WHERE pseudo = ´" . $_POST[´pseudo´] . "´");

$reponse = mysql_fetch_array($reponse);

if (isset($reponse[´pseudo´]))
{
//alors l´utilisateur est inscrit et on verifie so
n mot de passe.
}
else
{
//alors n´est pas inscrit
}

Bien que cela marche (ou du moins, j´en ai l´impre
ssion), je en suis pas sûr que ce soit la meilleure solution, d´autant plus qu´on m´a dit de ne pas faire cela...

Et j´aimerai donc, si vous voulez bien, vos avis la dessus, et m´aider à savoir comment faire.
:merci: d´avance.

jehuty21
jehuty21
Niveau 10
08 décembre 2006 à 22:22:37

Bien sûr que ça fonctionne, pourquoi on ne pourrait pas faire comme ça?

Remplace juste mysql_fetch_array() par mmysql_fetch_assoc() (car plus léger) et if(isset()) par if($reponse != = false) (car plus logique, on vérifie ce que retourne la fonction)

Styfore
Styfore
Niveau 10
08 décembre 2006 à 22:27:12

Que fait "mmysql_fetch_assoc()"
C´est quoi la différence :question:

Et $reponse n´a pas comme valeur false ou true...
Mais maintenant que j´y pense, un if($reponse[´pseudo´] != NULL) marcherais aussi..

En fait, je crois qu´on m´avais dit d´utiliser mysql_num_rows(), qui renvoie le nombre de lignes... (en tout cas, j´ai compris ça...), mais je ne voyais pas en quoi cela vérifiait ^^

jehuty21
jehuty21
Niveau 10
08 décembre 2006 à 22:32:26

mysql_fetch_array() retourne un array associatif et numérique, chaque donnée est donc en double.

mysql_fetch_assoc() ne renvoit qu´un array associatif.

Et si, va relire la doc, s´il n´y a aucune ligne dans la ressource sql mysql_fetch_array()/mysql_fetch_assoc() renvoie false.

Et pour l´histoire du num_rows ça n´a aucun intérêt vu que tu dois vérifier les mots de passes.

Styfore
Styfore
Niveau 10
08 décembre 2006 à 22:36:46

Ah ok, merci, je ne savais pas ^^
Donc en effet, mysql_fetch_assoc() doit être plus rapide, et comme je n´utilise que les tableau associatif ^^

Donc encore merci :-)

deepblue
deepblue
Niveau 16
08 décembre 2006 à 23:03:16

tu peux egalement faire un mysql_num_rows, ça te revera le nombre ligne

jehuty21
jehuty21
Niveau 10
08 décembre 2006 à 23:09:01

C´est inutile dans son cas, la requête retournera 1 ou 0 ligne.
Donc en faisant un fetch_assoc(), on connait le nombre de ligne et on récupère les infos (pour autant qu´il y en ai) en un coup.

deepblue
deepblue
Niveau 16
08 décembre 2006 à 23:15:41

donc tant uq´ faire, pourquoi ne pas faire une requete COUNT

jehuty21
jehuty21
Niveau 10
08 décembre 2006 à 23:17:15

Parce qu´on a besoin du mots de passe pour vérifier si le mot de passe entré est le même?

deepblue
deepblue
Niveau 16
08 décembre 2006 à 23:19:18

WHERE pseudo=´$pseudo´ && mdp=´$mdp´ non ?

jehuty21
jehuty21
Niveau 10
08 décembre 2006 à 23:20:27

Comment différencies-tu un pseudo inexistant et un mauvais mot de passe?

deepblue
deepblue
Niveau 16
08 décembre 2006 à 23:25:49

oups, j´ai mal lu les commentaire de son code

darth-bane
darth-bane
Niveau 10
09 décembre 2006 à 01:07:10

Perso, je préfère mysql_fetch_object(), mais bon, on ne va pas relancer le débat !

gugus963
gugus963
Niveau 10
09 décembre 2006 à 17:22:31

Ca risque d´être un peu chi*nt pour ceux qui comme moi ne connaissent pas (encore) la poo ou ne sont pas interessés...

deepblue
deepblue
Niveau 16
09 décembre 2006 à 17:37:00

Y´a rien a comprendre la...rien de plus simple pour mysql_fetch_object !

darth-bane
darth-bane
Niveau 10
09 décembre 2006 à 18:08:24

Petit exemple d´utilisation de mysql_fetch_object :
$resultatRequete = mysql_query("SELECT nom, prenom FROM table");
$enreg = mysql_fetch_object($resultatRequete);
echo $enreg->nom . " " $enreg->prenom;

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment