Problème fonction assoc pour lire une Base de donnée
Résolu
Peckeno12
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
Peckeno12 Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Peckeno12 Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Bonjour,
J'essaye de récupérer une valeur en BDD en incluant dans mon SELECT une unique valeur, mais voila mon problème. Quand j'applique la fonction mysql_fetch_array() à ma requête, il y a une erreur. Rien ne se passe, alors je ne sais pas si cela vient de la structure de mon code où d'une erreur dans la syntaxe. Merci pour votre aide, je vous pose mon bout de code.
<?php
try
{
$link = mysql_connect(sql.free.fr, "identifiant", "mdp")or die('Erreur de connexion !<br>'.$sql.'<br>'.mysql_error());
if (!$link)
{
die('Connexion impossible : ' . mysql_error());
//echo 'Connecté correctement';
//mysql_close($link)
}
mysql_select_db("identifiant");
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
if($_POST['pseudo']==NULL||$_POST['password']==NULL) // reggeeexxxx !!!!!
{
mysql_close($link);
echo '<script language="Javascript">
<!--
document.location.replace("www");
// -->
</script>';
}
else
{
$pseudo=htmlspecialchars($_POST['pseudo'], ENT_QUOTES, 'UTF-8');
$_POST['password']=htmlspecialchars($_POST['password'], ENT_QUOTES, 'UTF-8');
$password_hache=sha1($_POST['password']);
$sql ="SELECT nom,prenom,mail,mdp FROM inscrits WHERE 'pseudo'='.$pseudo.'" or die('Pseudo invalide');
$requete = mysql_query($sql)or die($query . " - " . mysql_error());
$donnees = mysql_fetch_assoc($requete)or die('probleme'.mysql_error()); // Le problème est ici, car cela me renvoie juste "problème".
if($password_hache==$donnees['mdp'])
{
$_SESSION['connect']=1;
$_SESSION['nom']=$donnees['nom'];
$_SESSION['prenom']=$donnees['prenom'];
$_SESSION['pseudo']=$donnees['pseudo'];
$_SESSION['mail']=$donnees['mail'];
mysql_close($link);
echo '<script language="Javascript">
<!--
document.location.replace("www");
// -->
</script>';
}
else
{
echo 'Mot de Passe errone';
mysql_close($link);
echo '<script language="Javascript">
<!--
document.location.replace("www");
// -->
</script>';
}
}
?>
Bonjour,
J'essaye de récupérer une valeur en BDD en incluant dans mon SELECT une unique valeur, mais voila mon problème. Quand j'applique la fonction mysql_fetch_array() à ma requête, il y a une erreur. Rien ne se passe, alors je ne sais pas si cela vient de la structure de mon code où d'une erreur dans la syntaxe. Merci pour votre aide, je vous pose mon bout de code.
<?php
try
{
$link = mysql_connect(sql.free.fr, "identifiant", "mdp")or die('Erreur de connexion !<br>'.$sql.'<br>'.mysql_error());
if (!$link)
{
die('Connexion impossible : ' . mysql_error());
//echo 'Connecté correctement';
//mysql_close($link)
}
mysql_select_db("identifiant");
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
if($_POST['pseudo']==NULL||$_POST['password']==NULL) // reggeeexxxx !!!!!
{
mysql_close($link);
echo '<script language="Javascript">
<!--
document.location.replace("www");
// -->
</script>';
}
else
{
$pseudo=htmlspecialchars($_POST['pseudo'], ENT_QUOTES, 'UTF-8');
$_POST['password']=htmlspecialchars($_POST['password'], ENT_QUOTES, 'UTF-8');
$password_hache=sha1($_POST['password']);
$sql ="SELECT nom,prenom,mail,mdp FROM inscrits WHERE 'pseudo'='.$pseudo.'" or die('Pseudo invalide');
$requete = mysql_query($sql)or die($query . " - " . mysql_error());
$donnees = mysql_fetch_assoc($requete)or die('probleme'.mysql_error()); // Le problème est ici, car cela me renvoie juste "problème".
if($password_hache==$donnees['mdp'])
{
$_SESSION['connect']=1;
$_SESSION['nom']=$donnees['nom'];
$_SESSION['prenom']=$donnees['prenom'];
$_SESSION['pseudo']=$donnees['pseudo'];
$_SESSION['mail']=$donnees['mail'];
mysql_close($link);
echo '<script language="Javascript">
<!--
document.location.replace("www");
// -->
</script>';
}
else
{
echo 'Mot de Passe errone';
mysql_close($link);
echo '<script language="Javascript">
<!--
document.location.replace("www");
// -->
</script>';
}
}
?>
A voir également:
- Problème fonction assoc pour lire une Base de donnée
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Fonction si et - Guide
- Lire epub - Guide
- Base de registre - Guide
- Lire fichier bin - Guide
5 réponses
Et l'erreur gagnante, est... ?
au passage, si tu pouvais mettre ton code là : https://pastebin.com/
je t'en serai reconnaissant !!
au passage, si tu pouvais mettre ton code là : https://pastebin.com/
je t'en serai reconnaissant !!
Bonjour
Si ça ne t'affiche que 'Problème' sans message d'erreur de mysql, c'est que tu n'as pas d'erreur de syntaxe de mysql. Tu n'as simplement aucune réponse à ta requête.
Et tu n'as aucune réponse à ta requête parce que tu as mis des apostrophes autour du nom de colonne 'pseudo' : du coup, ce n'est plus un nom de colonne, tu compares juste la chaîne 'pseudo' au pseudo saisi. De plus, tu mes des points comme si tu concaténais des chaînes, alors qu'il n'y a rien à concaténer.
->
Si ça ne t'affiche que 'Problème' sans message d'erreur de mysql, c'est que tu n'as pas d'erreur de syntaxe de mysql. Tu n'as simplement aucune réponse à ta requête.
Et tu n'as aucune réponse à ta requête parce que tu as mis des apostrophes autour du nom de colonne 'pseudo' : du coup, ce n'est plus un nom de colonne, tu compares juste la chaîne 'pseudo' au pseudo saisi. De plus, tu mes des points comme si tu concaténais des chaînes, alors qu'il n'y a rien à concaténer.
->
$sql ="SELECT nom,prenom,mail,mdp FROM inscrits WHERE pseudo='$pseudo'";
deux choses me paraissent bizarres :
- $link = mysql_connect(sql.free.fr, "identifiant",
sql_free ne devrait-il pas être entre ' ?
-mysql_select_db("identifiant");
est ce normal que tu ait "identifiant" comme user et comme nom de base ?
si une erreur sort à la ligne mysql_fetch_array cela peut venir des lignes avant qui ont un pb
- $link = mysql_connect(sql.free.fr, "identifiant",
sql_free ne devrait-il pas être entre ' ?
-mysql_select_db("identifiant");
est ce normal que tu ait "identifiant" comme user et comme nom de base ?
si une erreur sort à la ligne mysql_fetch_array cela peut venir des lignes avant qui ont un pb
Désolé mais j'ai appliqué les corrections que vous m'avez donné mais il n'y a aucun changement. Il est vrai que c'est surement plus propre par contre.
<?php try { $link = mysql_connect('sql.free.fr', 'identifiant', 'mdp')or die('Erreur de connexion !<br>'.$sql.'<br>'.mysql_error()); if (!$link) { die('Connexion impossible : ' . mysql_error()); //echo 'Connecté correctement'; //mysql_close($link) } mysql_select_db('identifiant'); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } if($_POST['pseudo']==NULL||$_POST['password']==NULL) // reggeeexxxx !!!!! { mysql_close($link); echo '<script language="Javascript"> <!-- document.location.replace("www"); // --> </script>'; } else { $pseudo=htmlspecialchars($_POST['pseudo'], ENT_QUOTES, 'UTF-8'); $_POST['password']=htmlspecialchars($_POST['password'], ENT_QUOTES, 'UTF-8'); $password_hache=sha1($_POST['password']); $sql ="SELECT nom,prenom,mail,mdp FROM inscrits WHERE 'pseudo'='$pseudo'" or die('Pseudo invalide'); $requete = mysql_query($sql)or die($query . " - " . mysql_error()); $donnees = mysql_fetch_assoc($requete)or die('probleme'.mysql_error()); if($password_hache==$donnees['mdp']) { $_SESSION['connect']=1; $_SESSION['nom']=$donnees['nom']; $_SESSION['prenom']=$donnees['prenom']; $_SESSION['pseudo']=$donnees['pseudo']; $_SESSION['mail']=$donnees['mail']; mysql_close($link); echo '<script language="Javascript"> <!-- document.location.replace("www"); // --> </script>'; } else { echo 'Mot de Passe errone'; mysql_close($link); echo '<script language="Javascript"> <!-- document.location.replace("www"); // --> </script>'; } } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci beaucoup pour ton commentaire, ça m'a rendu compte que mon code était juste "pourri", et encore c'est peu dire...
Enfin bref j'ai changé plein de trucs et donc voila la solution que j'ai trouvé :
Enfin bref j'ai changé plein de trucs et donc voila la solution que j'ai trouvé :
<?php try { $link = mysql_connect('sql.free.fr', 'identifiant', 'mdp')or die('Erreur de connexion !<br>'.$sql.'<br>'.mysql_error()); if (!$link) { die('Connexion impossible : ' . mysql_error()); //echo 'Connecté correctement'; //mysql_close($link) } mysql_select_db('identifiant'); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } if($_POST['pseudo']==NULL||$_POST['password']==NULL) { mysql_close($link); echo '<script language="Javascript"> <!-- document.location.replace("www"); // --> </script>'; } else { $pseudo=htmlspecialchars($_POST['pseudo'], ENT_QUOTES, 'UTF-8'); $_POST['password']=htmlspecialchars($_POST['password'], ENT_QUOTES, 'UTF-8'); $password_hache=sha1($_POST['password']); $sql ="SELECT nom,prenom,mail,mdp,pseudo FROM inscrits " or die('Pseudo invalide'); $requete = mysql_query($sql)or die($query . " - " . mysql_error()); while($donnees = mysql_fetch_assoc($requete)) { if($donnees['pseudo']==$pseudo) { if($donnees['mdp']==$password_hache) { $_SESSION['connect']=1; $_SESSION['nom']=$donnees['nom']; $_SESSION['prenom']=$donnees['prenom']; $_SESSION['pseudo']=$donnees['pseudo']; $_SESSION['mail']=$donnees['mail']; mysql_close($link); echo '<script language="Javascript"> <!-- document.location.replace("www"); // --> </script>'; } } } echo 'Pseudo errone'; mysql_close($link); echo '<script language="Javascript"> <!-- document.location.replace("www"); // --> </script>'; }
Et l'erreur en question, c'est quoi ? Le suspens, c'est bien à la télé, mais pas sur un forum ^^
Donc je reprend tout depuis le début.
J'essaye de récupérer une valeur en BDD en incluant dans mon SELECT un WHERE qui me permet de sélectionner une unique valeur, mais voila mon problème. Quand j'applique la fonction mysql_fetch_array() à ma requête, il y a une erreur. Rien ne se passe, alors je ne sais pas si cela vient de la structure de mon code où d'une erreur dans la syntaxe.
J'ai mis un or die('probleme'.mysql_error()); à la ligne ou je suppose qu'il y a une erreur et cela me renvoie donc que 'problème'.
bon tu fais ça de bonne volonté, ton soucis, je l'ai compris, pas besoin de le remettre ;)
Ensuite comme je l'ai demandé dans mon 1er message, ton code, si tu pouvais le mettre là, ça serait génial ! https://pastebin.com/
le forum est nul pour afficher du code, c'est un peu mieux avec la balise code, mais quand le code est un peu long, c'est mieux d'avoir ça avec la coloration syntaxique, le numéro des lignes, etc, etc
ce n'est pas de ta faute, c'est le forum qui est mal branlé ^^
c'est done !