0

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

还有一些问题:

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

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

任何想法,谢谢!

4

3 回答 3

3

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

但是,如果您只是想扭转魔术引号造成的损害,stripslashes()那么这正是您要寻找的。

于 2009-01-24T01:33:13.873 回答
3

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

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

于 2009-01-24T01:38:49.057 回答
1

ini_set('magic_quotes_runtime', false);

于 2009-01-24T02:31:07.907 回答