我想知道如何可以防止SQL注入与我的搜索查询?不幸的是,我不得不使用字符串,因为我需要连接要搜索的名字和姓氏。我已经尝试过准备好的声明,但他们似乎也没有在这里工作。我希望有人能帮助我。谢谢。Codeigniter创建一个准备好的语句或使用活动记录搜索与concat
我的功能
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