J'essaie de passer une session avec la connexion MySQLI pour plusieurs requêtes sur le site, mais lorsque j'essaie de faire une requête, il émet un avertissement "Impossible de chercher MySQLI"
$_SESSION['db']=new mysqli($host,$username,$password,$db);
3 Réponses :
Oui, il est explicitement impossible. P>
voir mentionner dans un avertissement en surbrillance: "Certains types de données ne peuvent pas être sérialisés ainsi stockés dans des sessions. Il inclut des variables de ressources ou des objets avec des références circulaires (c.-à-d. Des objets qui transmet une référence à un autre objet)." Em> p>
Les connexions MySQL sont l'une de ces types de ressources. P>
Vous devez vous reconnecter sur chaque page exécutée. P>
Ceci n'est pas aussi mauvais que cela sonne si vous pouvez compter sur la mise en commun de la connexion via mysql_pconnect () , mais d'abord voir plus d'informations de fond sur mysql_pconnect () dans cet article . P>
Les connexions de base de données sont des ressources et ne peuvent pas être stockées dans une session. Vous devrez reconstruire la connexion dans chaque page ou utiliser un Connexion persistante forte> (PHP 5.3+). p>
Ouais - Vous ne pouvez pas passer à une session. La poignée est spécifique à la demande. Vous pourrez peut-être le mettre dans une ressource partagée comme Memcache et récupérer la poignée lorsque vous en avez besoin. P>
Cependant, si vous utilisez la connexion de la connexion, en saisissant une nouvelle poignée lorsque vous avez besoin (et la fermeture de la fermeture lorsque vous avez terminé) n'est pas une grande performance. P>
dépend toujours de vos besoins, mais oui, je: P>