【问题标题】:The counterpart of mysqli::real_escape_string?mysqli::real_escape_string 的对应物?
【发布时间】:2010-10-03 06:45:56
【问题描述】:

stripslashes() ?那太蹩脚了,所以4.0。什么是 mysqli::real_escape_string 的 5.0 版本,它去除了为 SQL 查询添加的所有斜杠?

还有一些问题:

  1. 尝试更新记录并在文本字段中添加单引号,结果 phpMyAdmin 使用单引号而不是斜杠转义字符串 - 例如单引号被转义为 ''(2 个单引号)而不是 \' - phpMyAdmin 使用什么功能还是它自己的功能?那么,mysql支持两种转义字符串的方式,即斜杠和单引号?

  2. 我总是必须取消从 mysql 中选择的字符串的斜线吗?因为'你知道它在插入时被削减了。但我认为我不必这样做。

任何想法,谢谢!

【问题讨论】:

    标签: php mysql mysqli


    【解决方案1】:

    ini_set('magic_quotes_runtime', false);

    【讨论】:

      【解决方案2】:

      如果您不想使用 PDO,并且正在使用 mysqli,则应该使用准备好的语句,因此您不必担心使用 mysql_real_escape_string_i_mean_it_this_time 之类的东西转义引号。

      更具体地说,您可以致电mysqli->prepare 来准备您的查询。调用mysqli_stmt->bind_param设置参数值。并且,调用mysqli_stmt->execute 来执行查询。

      【讨论】:

        【解决方案3】:

        使用PDO 代替任何mysql[i]/pgsql/... 扩展。

        不过,如果您只是想扭转魔术引号造成的伤害,stripslashes() 正是您要找的。​​p>

        【讨论】:

          猜你喜欢
          • 2011-08-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-02-16
          • 1970-01-01
          • 1970-01-01
          • 2016-06-21
          • 1970-01-01
          相关资源
          最近更新 更多