如何绑定对Codeigniter中的LIMIT参数使用变量的查询

时间:2018-07-16 08:07:35

标签: mysql sql codeigniter query-builder mysql-real-escape-string

我正在尝试通过绑定查询来修复codeigniter中的查询,以确保安全。但是我无法在sql查询的limit参数中使用“ ?”。

在不使用codeigntier的查询生成器的情况下,如何解决此问题并仍然使查询能够转义/安全?

我的密码

$query = " SELECT * FROM users ORDER BY uid DESC LIMIT ?, ? ";

$bind  = array($one, $two) 
$query = $this->db->query($query, $bind);

我得到的错误在下面

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '?, ?' at line 1

谢谢

1 个答案:

答案 0 :(得分:0)

希望这对您有帮助:

从您的$id中删除$bind,因为您不在$query的任何地方使用它了

$sql= " SELECT * FROM users ORDER BY uid DESC LIMIT ?, ? ";

$bind  = array($one, $two);
$query = $this->db->query($sql, $bind);

/* to test 
 echo $this->db->last_query();
*/

更多信息:https://www.codeigniter.com/user_guide/database/queries.html#query-bindings