php - 什么时候使用mysql真正的转义字符串

标签 php mysql-real-escape-string

我完全困惑,我已经阅读了一些帖子,但仍然不确定。我不想走准备好的声明路线,因为这个网站只在我们的内部网上。我已经阅读了以下帖子,但我仍然不确定。

  • When to use mysql_real_escape_string?
  • When to use mysql_real_escape_string()

  • 我的问题:我应该使用 mysql-real-escape-string
  • 只有当我从表单或
  • 获得用户输入时
  • 我所有的疑问?例如:SELECT * FROM ......

  • 例如在 this post它指出:You need to call this function when building SQL queries with string literals. You should not call it anywhere else.

    最佳答案

    准备好的语句所做的(除其他外)是调用类似于 mysql_real_escape_string() 的方法
    如果你不使用PDO,什么都好,你必须明白你在做什么,你会得到同样的安全级别。
    唯一且简单的规则是 all raw data needs mysql_real_escape_string() (或来自其他语言的类似内容)
    例子是:
    - 来自用户输入的数据
    - 您在 DB 上存储 RAW 的数据(witch 是最好的方法)并且您正在使用新的 sql 语句
    - 来自未知/其他来源的数据
    详细信息是:
    - 确保不要申请两次(以正确保存数据)

    关于php - 什么时候使用mysql真正的转义字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9737130/

    相关文章:

    php - 在mysql中插入双引号并打印出来,不带反斜杠

    php - 如何从数组键中删除前导零

    php - 当查询中的变量周围没有引号时,mysql_real_escape_string 是否可能进行 SQL 注入(inject)?

    javascript - 在浏览器中显示所有变音符号

    php - 将 2 个数组合并为 2d 数组而不丢失数据

    php - 不能使用 mysql_real_escape_string

    php - preg_replace & mysql_real_escape_string 问题清理 SQL

    php - 我是否需要对数据库数据使用 mysql_real_escape_string 才能重新插入?

    php - Mysql事务: commit and rollback

    php - 谁能帮我把它做成一个对象。 (php)