stevenlol38

Membre
Inscription
26 Septembre 2016
Messages
8
Réactions
1
Points
1 346
Bonjours quand je me connecte sur mon site des fois jai un erreur dans mon login alors que j'ai fixer l'erreur voila lerreur que sa me dit Erreur fatale : Erreur non capturée: Appel à une fonction membre fetchColumn () sur un booléen

voila mon code


$date = strtotime('-1 hour', time());
$attempts = $odb->query("SELECT COUNT(*) FROM `loginlogs` WHERE `ip` = '$ip' AND `username` LIKE '%failed' AND `date` BETWEEN '$date' AND UNIX_TIMESTAMP()")->fetchColumn(0);
if ($attempts > 2) {
$date = strtotime('+1 hour', $waittime = $odb->query("SELECT `date` FROM `loginlogs` WHERE `ip` = '$ip' ORDER BY `date` DESC LIMIT 1")->fetchColumn(0) - time());
}
 

Paul GTP

Légende vivante
VIP
Inscription
15 Août 2013
Messages
6 194
Réactions
7 545
Points
24 772
AU SECOURS !
On ne fait jamais de ->query() pour des requêtes contenant des paramètres ! Va vite lire des cours de PHP avant de créer des sites pleins de failles :panic:

Bon, concernant l'erreur il suffit de réfléchir:
Erreur fatale : Erreur non capturée: Appel à une fonction membre fetchColumn () sur un booléen
Erreur non capturée => ça veut dire que ton erreur n'est pas dans un try/catch
Appel sur un booléan => ça veut dire que le contenu du résultat de ta query renvoie "false" donc que ta requête SQL est incorrecte

--

Bon premièrement, passe par les requêtes préparées comme indiquées sur le cours PHP:
Ensuite tu veux faire quoi ? ça ressemble pas à un formulaire de login et c'est très maladroit comme manière de faire !
 
Haut