PHP - 使用stripshales函数后字符串中出现反斜杠

3

我正在使用mysqli连接。

 $conn = new mysqli($host, $user, $password, $database);

使用以下语法将数据存储在数据库中

$site_description = $conn->real_escape_string($_POST['site_description']);  
$conn->query("UPDATE `r_site_details` SET  `site_description` = '".$site_description."' WHERE `id` = ".$id);
input : Telangana's

关于it添加斜杠的问题。但是当我使用stripslashes输出值时,字符串中仍然显示着斜杠。

$query = $conn->query("select * from r_site_details where id=$id")or die(mysqli_error());
$result = $query->fetch_assoc();
    echo stripslashes($result["site_description"]) // output : Telangana\'s

1
在提交表单和从数据库查询中回显变量之间,会发生很多事情 - 这里没有显示出来。您应该在不同的阶段使用 var_dump() 函数来查看变量的值,以确定问题所在,因为仅凭这两行代码是无法判断的。 - jeroen
好的,让我发布我的完整脚本,谢谢 @jeroen - Snopzer
你应该首先检查变量在哪个阶段具有什么值,也许当你获取POST值时它已经被转义了。 - jeroen
@jeroen,希望你能看到完整的情况。 - Snopzer
如果您不愿意检查变量的值,那么您将永远无法调试任何代码。 - jeroen
2个回答

2
不要寻找优化解决方案,只需要尝试替换斜杠即可,这样就可以正常工作了。 echo str_replace('\"', '"',str_replace("\'", "'", $result["site_description"])); 有人能建议我一个替代方案吗?

-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接