我想做一个类似于以下的查询:
SELECT f_name, l_name, title from
-> employee_data where title
-> IN ('Web Designer', 'System Administrator');
Run Code Online (Sandbox Code Playgroud)
搜索条件以数组形式接收,$data = ['Web Designer', 'System Administrator']现在我可以将该数组转换为Web Designer,System Administrator使用:
$data = implode(',', $data)
Run Code Online (Sandbox Code Playgroud)
是否有一种很好的方法可以将该数组转换为'Web Designer', 'System Administrator'如此,我可以直接将此短语插入到MySQL查询中,如帖子开头所示?
您可能应该使用:
$data = implode( ', ', array_map( $data, array( $object, 'escape')));
$query .= 'title IN ( ' . $data . ')'; // Append to condition
Run Code Online (Sandbox Code Playgroud)
凡$object->escape()愿意按功能,如:
public function $escape( $string){
return "'" . mysql_real_escape_string( $string, $this->connection) . "'";
}
Run Code Online (Sandbox Code Playgroud)
这是array_map()文档,和mysql_real_escape_string().这应该是SQL注入解决方案.