【问题标题】:PHP - Slashes are coming after using the stripshales for StringPHP - 使用字符串的 stripshales 后出现斜线
【发布时间】:2017-03-15 08:55:10
【问题描述】:

我正在使用 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

它添加斜线。 但是当我用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

【问题讨论】:

  • 在发布表单和从数据库查询中回显变量之间发生了很多事情 - 此处未显示。您应该在不同阶段var_dump() 变量,以查看问题出在哪里,因为仅从这两行无法判断。
  • 好的,让我发布我的完整脚本,谢谢@jeroen
  • 您应该首先检查变量在哪个阶段具有哪些值,例如当您获取 POST 值时它可能已经转义。
  • @jeroen,希望你能看到完整的场景。
  • 如果您不愿意检查变量的值,您将永远无法调试任何代码。

标签: php string stripslashes


【解决方案1】:

没有找到优化解决方案,只是尝试替换斜线它工作正常,

echo str_replace('\"', '"',str_replace("\'", "'", $result["site_description"]));

谁能给我建议一个替代解决方案。

【讨论】:

    【解决方案2】:

    希望Disabling Magic Quote能帮到你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-26
      • 2017-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-30
      • 2014-12-21
      • 2022-01-25
      相关资源
      最近更新 更多