我想知道如何使用我的这个搜索查询来防止SQL注入?不幸的是,我不得不使用字符串,因为我需要连接的名字和姓氏搜索。我试过准备好的声明,但它们似乎在这里也不起作用。
我的功能
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;
}
}
字符串
1条答案
按热度按时间2hh7jdfx1#
Codeigniter活动记录自动转义查询以防止SQL注入
像这样
字符串
但如果使用查询同级
试试这个:
型
查询中的问号将自动替换为数组中的值。