Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PDO
PDO Forum d'entraide sur PDO (PHP Data Objects) : pilote générique de bases de données avec PHP. Avant de poster -> FAQ PDO et Cours PDO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/12/2010, 18h09   #1
Invité de passage
 
Inscription : novembre 2009
Messages : 4
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 4
Points : 2
Points : 2
Par défaut mysql_fetch_array() en PDO

Bonsoir,

Pour mon site web j'aimerais réaliser une connexion grâce à des identifiants, le reste de mes requête étant en PDO je souhaiterais mettre le code que j'ai trouve en PDO également

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<?php
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"';
$req = mysql_query($sql)
$data = mysql_fetch_array($req);
 
	// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
	session_start();
	$_SESSION['login'] = $_POST['login'];
	header('Location: membre.php');
	exit();
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
	$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un gros problème :)
else {
	$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
?>
J'ai un problème pour retranscrire la ligne 4 , j'ai essayer avec un fetch mais je reçois le message d'erreur suivant : "atal error: Call to a member function fetch() on a non-object"


voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
<?php 
 
$sql = "SELECT COUNT(*) FROM user WHERE login=$log AND mdp=$mdpass;";
$donnees= $BDD->query($sql) 
$data = $donnnees->fetchAll();
 
	// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) { 
	session_start(); 
	$_SESSION['login'] = $_POST['login']; 
	header('Location: membre.php'); 
	exit(); 
	} 
 
	// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) { 
	$erreur = 'Compte non reconnu.'; 
	} 
	// sinon, alors la, il y a un gros problème :)
else { 
	$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; 
	 }
?>
kochi56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 18h14   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
t'as oublier les guillemets dans ta requête autour de tes valeurs,
et pour faire 1 fetch c'est fetch pas fetchAll

active les erreurs pour PDO sinon tu vas pas t'en sortir
http://php.net/manual/fr/pdo.error-handling.php
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h18.


 
 
 
 
Partenaires

Hébergement Web