2012-04-16 2 views
0

Mon site utilise Session et je l'ai configuré pour enregistrer des informations dans la base de données afin de pouvoir enregistrer de plus grandes quantités de données utilisateur. Le site se connecte également à une base de données MySQL et MSSQL pour récupérer des informations pour l'utilisateur. La base de données de session est dans la base de données MySQL et cette partie fonctionne. La logique du site va: 1. L'utilisateur recherche quelque chose, le bouton de recherche est attaché à un code jQuery qui envoie le terme de recherche à 2 fonctions dans mon contrôleur.
2. La fonction 1 accède à la base de données MSSQL, récupère les données, enregistre la requête et les résultats de la requête dans la session et renvoie les résultats de la requête à la vue. 3. La fonction 2 fait exactement la même chose sauf qu'elle interroge la base de données MySQL.Enregistrement dans la table de session dans codeigniter

Fonction 1 code fait ceci:

$this->session->set_userdata('get_function1_query',$lastquery); 
$this->session->set_userdata('get_function1_result',$query->result_array()); 

Fonction 2 Code fait ceci:

$this->session->set_userdata('get_function2_query',$lastquery); 
$this->session->set_userdata('get_function2_result',$query->result_array()); 

Le problème est que le code fonction 1 ne sauvegarde pas les données à la table de session. Si je supprime le code Fonction 2, le code Fonction 1 fonctionne!

Enfin, les ensembles de résultats des requêtes sont petits. Néanmoins, j'ai changé le type de données du champ 'user_data' dans la table ci_sessions de TEXT à MEDIUMTEXT pour permettre d'y stocker plus d'informations.

Quelqu'un peut-il aider?

Merci!

Répondre

1

Lors du stockage de données dans la session, celui-ci doit être sérialisé. les résultats de $ query-> result_array() est un tableau qui pourrait poser quelques problèmes en essayant de le stocker en tant que chaîne.

essayez d'appeler serialize et désérialiser pour conserver la structure de données intacte lors de l'insertion ou de la suppression de sessions.

+0

Le code de session dans les poignées CodeIgniter sérialisation et fonctions non sérialisation automatiquement. – ShaneH

Questions connexes