私はこのようなコントローラーを持っています:
$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
コマンドが同期していません。現在、このコマンドを実行することはできません
UPDATE
ci_sessions
SETlast_activity
= 1358764263、user_data
='a:2:{s:9:\" user_data \ "; s:0:\" \ "; s:7:\" user_id \ "; s:2:\" 35 \ " ;}'WHEREsession_id
='05e340b2aa6bd9b21261ed0d20354b3c'ファイル名:libraries / Session.php
行番号:289
問題は、を使用しMySQL procedure
てモデルレイヤーを実装する必要があることですが、ci_session間で競合が発生しているようです。その問題に対する推奨される解決策はありますか?ありがとう。