我一直试图解决这个问题,但谷歌并没有提出我的问题的真正答案。
我正在使用PHP(带CodeIgniter)和MySQL,有没有办法可以在我的SQL语句中使用绑定变量?
答案 0 :(得分:4)
嗯,使用CI你可以:
$sql = "SELECT * FROM table WHERE name = ? AND email = ?";
$query = $this->db->query($sql, array($name,$email));
return $query->row_array();
这会将$ name和$ email变量绑定到查询字符串中的各个位置。你是这个意思吗? 还有Active Record(自定义ORM或sortof),这非常好。
以上所有内容都会自动转义值。您也可以使用$this->db->escape($string)
手动转义,对于列名称,可以$this->db->protect_identifier($column_name)
转义。但这一切都在手册中,请阅读。
答案 1 :(得分:0)
您可以使用PDOStatement::bindParam()
,这可能比CI功能快得多,具体取决于用例。