【问题标题】:Do integers need to be escaped整数是否需要转义
【发布时间】:2012-08-16 17:03:40
【问题描述】:

在使用intval() 转换后,在查询中转义整数有什么意义吗?

我正在使用这样的整数:

$sql .= " LIMIT " . $this->db->escape(intval($offset))  . ", 10";

【问题讨论】:

  • 没有必要对整数进行转义,只要您验证了该值实际上是一个整数 - 但如果 $offset 来自客户端输入,您应该始终进行验证
  • 无论如何你都不应该构建这样的查询字符串;使用参数化查询。

标签: php mysql codeigniter


【解决方案1】:

不,intval 将始终返回一个整数(0 失败时)。

【讨论】:

  • 正确地,(int) 和 intval() 总是返回 sql-safe 值。
【解决方案2】:

没有。因为由于 intval,除了数字之外,您什么也收不到。

【讨论】:

    猜你喜欢
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-05
    • 2021-09-27
    • 1970-01-01
    • 2010-10-21
    • 1970-01-01
    相关资源
    最近更新 更多