Probleme de requete

Fermé
Cyrille - 30 janv. 2010 à 18:21
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 - 31 janv. 2010 à 15:59
Bonjour,


Voila j'ai commencé en php et j'ai un petit soucis avec une requete qui me renvoit toujours la même chose :


<?php
session_start(); // On démarre la session

mysql_connect("localhost", "root" , "");
mysql_select_db("database_fbb") or die("echec de donnexion");

$verifU = $_POST['user'];
$verifM = $_POST['mdp'];

$reponse = mysql_query("SELECT * FROM membre WHERE Pseudo = ' $verifU ' AND mot_de_passe = ' $verifM ' ");
$donnee = mysql_num_rows($reponse);

?>


Comment vous pouvez vous en rendre compte j'essaye de savoir si un utilisateur qui tente de se connecter a déjà enregistré un compte, et j'ai beau rajouter des tuples correspondants dans ma base, j'ai toujours 0.

Vous ne sauriez pas où peut être l'erreur ? je n'ai aucun message.

4 réponses

Truoris Messages postés 17 Date d'inscription jeudi 13 août 2009 Statut Membre Dernière intervention 1 février 2010 2
30 janv. 2010 à 18:45
Salutations,

Essaye çà :

<?php 
session_start(); // On démarre la session 

mysql_connect("localhost", "root" , ""); 
mysql_select_db("database_fbb") or die("echec de donnexion"); 

$verifU = $_POST['user']; 
$verifM = $_POST['mdp']; 

$reponse = mysql_query('SELECT * FROM membre WHERE Pseudo = \'' . $verifU . '\' AND mot_de_passe = \'' . $verifM .'\'') or die(mysql_error()); 
$donnee = mysql_fetch_array($reponse); 

?>
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
30 janv. 2010 à 19:30
Il ne faut pas mettre d'espace entre les ' et la variable.
Penses à faire un trim et un addslashes/mysql_real_escape_string sur tes variables.
@Truoris : au lieu de mettre \', tu peux mettre " ça fait plus clair.
0
mince j'avais posté une réponse, visiblement elle n'a pas été enregistrée...

En dehors d'un roman, je vous remerciais : merci beaucoup Truoris, ça marche =)

Par contre j'ai gardé le mysql_num_rows() parce que je voulais avoir le nombre de tuples mais sinon c'est impeccable !

Pour avion-f16, j'ai noté l'erreur avec les espaces, par contre je ne connaissais pas pour les problemes de caractere interdit (autre que les espaces bien sur) je pense que je vais me pencher sur le probleme des à présent. Merci ! =)
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
30 janv. 2010 à 23:28
Il n'y a pas de caractère interdit, c'est juste qu'il faut penser à échapper les apostrophes ou les guillemets pour éviter de fermer la chaine.
$chaine = "C'est le 20 juillet 1969 que Neil Armstrong dit \"C'est un petit pas pour l'homme mais un bond de géant pour l'humanité.\""
$chaine = 'C\'est le 20 juillet 1969 que Neil Armstrong dit "C\'est un petit pas pour l\'homme mais un bond de géant pour l\'humanité."';
0
C'est tout ? et bien merci =)

Je pense que je m'y pencherai un peu plus tard , pour l'instant j'essaye de maintenir mes sessions sur toutes les pages... session_start() ne suffit pas apparemment pour balader $_SESSION sur toutes les pages du serveur.
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
31 janv. 2010 à 15:59
Il faut mettre session_start() sur toutes les pages où tu veux utiliser les variables $_SESSION.
0