[PHP , PDO , SQL] Fetch sur un prepare ???
dodvega
-
afrnos Messages postés 61 Statut Membre -
afrnos Messages postés 61 Statut Membre -
Bonjour,
Je me demande vraiment pourquoi le code suivant ne marche pas, j'ai fait pas mal de recherches sur le Web pourtant :O
En fait, il s'agit d'un module de connexion... la première vérification consiste à savoir si l'identifiant existe, c'est pourquoi j'applique un fetchColumn() sur ma $requete...
La dernière vérification consiste en la concordance du mot de passe avec le pseudo... Et c'est là que ça coince. L'array que j'utilise ne comporte aucune donnée.
Appréciez :
Pourriez-vous m'aider à débuguer ce script ?
Merci d'avance !
Je me demande vraiment pourquoi le code suivant ne marche pas, j'ai fait pas mal de recherches sur le Web pourtant :O
En fait, il s'agit d'un module de connexion... la première vérification consiste à savoir si l'identifiant existe, c'est pourquoi j'applique un fetchColumn() sur ma $requete...
La dernière vérification consiste en la concordance du mot de passe avec le pseudo... Et c'est là que ça coince. L'array que j'utilise ne comporte aucune donnée.
Appréciez :
$identifiant = $_POST['identifiant'];
$mot_de_passe = $_POST['mot_de_passe'];
$requete = sql()->prepare("SELECT * FROM membres WHERE identifiant = ?");
$requete->execute(array($identifiant));
if($requete->fetchColumn() == 0)
echo "L'identifiant renseigné n'existe pas.";
else
{
$array = $requete->fetch(); // NE MARCHE PAS :O AUCUNE ERREUR RETOURNEE
if(md5($mot_de_passe) != $array['mot_de_passe'])
echo "Le mot de passe renseigné ne correspond pas.";
else
echo "Connexion réussie !";
}
Pourriez-vous m'aider à débuguer ce script ?
Merci d'avance !
A voir également:
- [PHP , PDO , SQL] Fetch sur un prepare ???
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Logiciel sql - Télécharger - Bases de données
- Un agent immobilier a préparé un diaporama pour présenter une maison à vendre ✓ - Forum Powerpoint
- Sql lister les tables ✓ - Forum Programmation
2 réponses
Bonjour,
A quoi correspond la fonction sql() ?
Essayez de cette manière :
A quoi correspond la fonction sql() ?
Essayez de cette manière :
$requete = sql()->prepare("SELECT * FROM membres WHERE identifiant = ?");
$requete->execute(array($identifiant));
$donnees = $requete->fetch();
if($donnees == 0)
echo "L'identifiant renseigné n'existe pas.";
else
{
if(md5($mot_de_passe) != $donnees['mot_de_passe'])
echo "Le mot de passe renseigné ne correspond pas.";
else
echo "Connexion réussie !";
}
Bonjour,
La fonction sql() correspond tout simplement à l'instanciation de PDO :
Votre code marche parfaitement, je n'avais même pas pensé à faire ça xD
Mais je trouve quand même bizarre qu'il soit impossible de cumuler un fetchColumn() avec un fetch()...
Merci encore, bonne journée !
La fonction sql() correspond tout simplement à l'instanciation de PDO :
function sql()
{
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
return $bdd;
}
Votre code marche parfaitement, je n'avais même pas pensé à faire ça xD
Mais je trouve quand même bizarre qu'il soit impossible de cumuler un fetchColumn() avec un fetch()...
Merci encore, bonne journée !