C'est moi qui devient folle ?
Résolu
ephelya
Messages postés
296
Statut
Membre
-
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous,
Voici ma requête SQL toute simple :
Sur l'écran, voilà ce que j'obtiens :
Je devrais avoir deux fois le même résultat, alors pourquoi print_r($result) retourne un tableau vide ???
Ça me rend dingue, alors si quelqu'un a une piste...
Merci d'avance !
Voici ma requête SQL toute simple :
$ip = $_SERVER["REMOTE_ADDR"];
$now = time();
try{
$db = new \PDO('mysql:host='.DB_HOST.'; dbname='.DB_NAME.'; charset=utf8', DB_USER, DB_PASSWORD);
$db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
$db->setAttribute(\PDO::ATTR_DEFAULT_FETCH_MODE, \PDO::FETCH_OBJ);
} catch(PDOException $e) {
die('Erreur : ' . $e->getMessage());
}
$query = "SELECT iduser FROM temp_connect WHERE ip=:ip AND :now < (datemax + 3600)";
$datas = array(':ip'=>$ip, ':now' => $now);
try{
$requete = $db -> prepare($query) ;
$requete->execute($datas) ; print_r($requete -> fetchAll());
$result =$requete -> fetchAll(); print_r($result);
if (!empty($result))
{
$user = \Models\Membres::get_user($result[0] -> iduser);
return($user);
}
else { return false; }
}catch(Exception $e){
echo " Erreur ! ".$e->getMessage();
echo " Les datas : " ;
}
Sur l'écran, voilà ce que j'obtiens :
Array ( [0] => stdClass Object ( [iduser] => 431 ) ) Array ( )
Je devrais avoir deux fois le même résultat, alors pourquoi print_r($result) retourne un tableau vide ???
Ça me rend dingue, alors si quelqu'un a une piste...
Merci d'avance !
Je croyais que fetch servait simplement à indiquer le contenu, je ne savais pas qu'on ne pouvait pas l'utiliser deux fois de suite...
Merci beaucoup ! :-)
Le fetchall deplace le curseur jusqu'au dernier (pour tout lire)