我有一个这样的控制器:
$r_result = $this->storedprocedure->user_email_exist($in_email);
if($r_result->num_rows() == 1)
{
foreach ($r_result->result() as $row)
{
$salt = $row->salt;
$hash = $row->hash_password;
if(strcasecmp(Application_Helper::hash_password($aData['password'], $salt),
$hash)==0)
{
//Login success
echo('login success');
$newdata = array('user_id' => $row->id);
$this->session->set_userdata($newdata);
}
}
}
在 Storedprocedure 模型中,是这样的:
public function user_email_exist($aEmail)
{
$r_result = $this->db->query("CALL user_email_exist('".$aEmail."')");
return $r_result;
}
我测试了一下,可以登录成功,但是打印错误:
发生数据库错误
错误编号:2014
命令不同步;你现在不能运行这个命令
更新
ci_sessions
集last_activity
= 1358764263,user_data
= 'a:2:{s:9:\"user_data\";s:0:\"\";s:7:\"user_id\";s:2:\"35\" ;}' WHEREsession_id
= '05e340b2aa6bd9b21261ed0d20354b3c'文件名:库/Session.php
行号:289
问题是,我必须使用MySQL procedure
模型层来实现,但似乎ci_session之间有一些冲突。有针对该问题的推荐解决方案吗?谢谢。