パスワード-ユーザー名認証を設計するために、テーブル(メンバーシップ)から「salt」を取得してパスワードに追加しようとしました。次に、SHA256で組み合わせを暗号化しました。しかし、以下のようにvalidate()関数を作成すると、エラーが発生しました。
重大度:4096
メッセージ:クラスCI_DB_mysql_driverのオブジェクトを文字列に変換できませんでした
コード:
public function validate(){
$this->db->where('username',$this->input->post('username'));
$salt=(string)$this->db->select('salt');
$this->db->where('password',hash('sha256',$this->input->post('password').$salt));
$query=$this->db->get('membership');
if($query->num_rows()==1){ return TRUE; }
}
問題を解決する方法は?codeigniter2.1.2を使用しています。どうもありがとう!