gpt4 book ai didi

php - MySQL 使用 mysqli_real_escape_string 转义单引号

转载 作者:行者123 更新时间:2023-11-30 23:53:03 25 4
gpt4 key购买 nike

当我使用 mysqli_real_escape_string 插入数据库时​​,我发现我的单引号被转义为 \\ 而不是 \ 这导致我的查询失败.见下文:

注意: $link 是我的数据库连接变量。

$string = mysqli_real_escape_string($link, "BEGIN testing quotes - don't use quotes END");
$query = "INSERT INTO table (field) VALUES ('".$string."')";

当我回显我的查询时,我得到:

INSERT INTO table (field) VALUES ('BEGIN testing quotes - don\\'t use quotes END')

这会导致 SQL 语法错误。我似乎无法在任何地方找到可以改变这一点的设置。如果我将回显查询复制到 MySQL Workbench 中并删除 \,查询插入就完美了。

我查看了 Stack Overflow,但找不到与此相关的任何内容,而且还通过 Google 进行了搜索,但没有成功。

我有很多查询需要在我的整个网站上转义。是否可以将设置设置为自动应用预插入字符串的转义,而无需遍历并更新我的所有变量?如果没有,我是否可以更改 mysqli_real_escape_string 函数而不必手动检查我插入的每个字符串是否有单引号等?

我很感激任何帮助。

最佳答案

正如 Krishna Gupta 所建议的,stripslashes 解决了我的问题:

$string = mysqli_real_escape_string($link, stripslashes("开始测试引号 - 不要使用引号 END"));

谢谢。

关于php - MySQL 使用 mysqli_real_escape_string 转义单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34353880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com