gpt4 book ai didi

php - 撇号的问题

转载 作者:太空宇宙 更新时间:2023-11-03 11:13:38 24 4
gpt4 key购买 nike

我正在使用mysql。在项目中有一个供用户编辑的字段。如果名称包含类似 's 的字符,则在保存记录时它会自动在撇号前插入 '\' 字符,名称变为 xyz\'s。下次 gin 在保存时插入另一个这样的字符,名称变成 xyz\'s。有什么解决办法吗?谢谢。

最佳答案

你很可能有 magic_quotes指令打开(不应该)。它会自动在引号前添加一个反斜杠,因此如果您使用的是 mysql_real_escape_string,它将被添加两次。如果您不使用 mysql_real_escape_string,那么...只是 shame on you! .

function escape($field)
{
if(magic_quotes_gpc())
{
$field = mysql_real_escape_string(stripslashes($field));
}
else
{
$field = mysql_real_escape_string($field);
}
}

然后就这样做(在调用函数之前一定要有一个打开的连接,否则 mysql_real_escape_string() 返回 FALSE)

$name = escape($_POST['name']);

或者简单地从你的 PHP ini 中关闭它:

ini_set('magic_quotes_gpc',0);

更好,使用 prepared statements不再担心转义和 SQL 注入(inject)!

关于php - 撇号的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6812061/

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