Donc ensuite je suis en train de faire une fonction qui va gerer cette fois "GESTION GLOBAL des users connecté/expérié/ou déconnecté en mode bourrin
Donc en gros c'est ça =>
Code : Tout sélectionner
function control_online_user() {
try
{
$bdd = new PDO ('mysql:host=localhost;dbname=xxx;charset=utf8', 'root', '');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$id = $_SESSION['id'];
$time_out = time() - 5000;
//Actualise le timestamp de l'utilisateur
$res = $bdd->prepare("SELECT id FROM inscription WHERE online_time < :time_out ");
$res->bindParam ('id', $id, PDO::PARAM_INT);
$res->bindParam ('online_time', $time_out, PDO::PARAM_INT);
$res->execute()or die('Erreur dans la requete '.$res);
if ($res->rowCount() ) {
$total_user = $res->fetch(PDO::FETCH_ASSOC);
foreach ($total_user as $user) {
$id = $user['id'];
$res = $bdd->prepare("UPDATE inscription SET statut_connexion=0 AND statut_chat=0 WHERE id =:id ");
$res->bindParam ('id', $id, PDO::PARAM_INT);
$res->execute()or die('Erreur dans la requete '.$res);
}
}
} ERREUR =>
<br /> <b>Fatal error</b>: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens' in /home/*****/function.php:348 Stack trace: #0 /home/*****/function.php(348): PDOStatement->execute() #1 /home*****/gestion_connexion_users.php(8): control_online_user() #2 {main} thrown in <b>/home/*****/function.php</b> on line <b>348</b><br />
Ya un probleme surement entre le timestamp de php et mysql qui semble pas parlé de la meme chose ?!%*