私はこの検索クエリでSQLインジェクションを防ぐ方法を知りましたか?残念ながら、検索のために姓と名を連結する必要があるため、文字列を使用する必要がありました。私は準備文を試しましたが、ここでもうまく動作していないようです。誰かが私にこれを手伝ってくれることを願っているありがとうございました。Codeigniterはプリペアドステートメントを作成するか、concatで検索するためにアクティブレコードを使用します
My機能
public function admin_search($input,$limit,$start){
$sql = "SELECT * FROM agent_accounts as aa LEFT JOIN person as p ON aa.person_id = p.id "
. "WHERE CONCAT_WS('', p.first_name, p.last_name) LIKE '%$input%' "
. "OR p.email LIKE '%$input%' OR p.phone_number LIKE '%$input%' "
. "OR aa.account_number LIKE '%$input%' LIMIT $limit OFFSET $start";
$query = $this->db->query($sql);
if($query->num_rows()>0){
foreach($query->result()as $row){
$documents[] = $row;
}
return $documents;
}else{
return false;
}
}
Codeigniterには、SQLインジェクションを防ぐ機能を持つ独自のデータベースクラスがあります。 – Akintunde007