代码之家  ›  专栏  ›  技术社区  ›  datasn.io

mysqli的对应词:真正的“escape”字符串?

  •  0
  • datasn.io  · 技术社区  · 16 年前

    stripSlashes()?这是蹩脚的,所以是4.0。mysqli::real_escape_字符串的5.0对应项是什么?该字符串删除了为SQL查询添加的所有斜杠?

    还有一些问题:

    1. 尝试更新记录并在文本字段中添加一个单引号,结果发现phpmyadmin使用单引号而不是斜线转义字符串-例如,单引号转义为“”(2个单引号)而不是\'-phpmyadmin使用的是什么函数,还是它自己使用的?所以,MySQL支持2种字符串转义方法,即斜杠和单引号?

    2. 我是否总是必须取消对从MySQL中选择的字符串的刷新?因为你知道它在插入时被划掉了。但我想我不必。

    有什么想法,谢谢!

    3 回复  |  直到 16 年前
        1
  •  3
  •   Kibbee    16 年前

    如果你不想使用pdo,而你使用的是mysql i,那么你应该使用准备好的语句,这样你就不必担心用mysql_real_escape_string_i_mean_i t_这一次来转义引号了。

    更具体地说,你可以打电话给 mysqli->prepare 准备查询。呼叫 mysqli_stmt->bind_param 设置参数值。并且,呼叫 mysqli_stmt->execute 执行查询。

        2
  •  3
  •   Tom    16 年前

    使用 PDO 而不是 mysql[i] / pgsql …扩展。

    不过,如果你只是想扭转魔法引述造成的伤害, stripslashes() 正是你想要的。

        3
  •  1
  •   user42092    16 年前

    ini_set('magic_quotes_runtime', false);