微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – PDO:获得结果时的stripslashes

我正在使用PDO预处理语句,因此在插入数据库之前需要添加斜杠.

我想知道正确的方法来获得结果并在网站上显示它而不显示斜杠.

是否像使用echo stripslashes一样简单($result-> message);?

这是我的查询的样子:

$database->query('INSERT INTO table_name (field1, field2, field3) VALUES (?, ?, ?)', array($value1, $value2, $value3));

这是我的查询方法

public function query($query, $bind=null)
{
    global $pdo;

    # Prepare Statment
    $this->statement = $this->pdo->prepare($query);

    # Execute Query
    $this->statement->execute($bind);
}

编辑:get_magic_quotes_gpc确实打开,即使WHM(cPanel)说它已关闭

解决方法:

准备好的语句不会在查询数据中添加斜杠.它们以占位符的形式将参数注入查询,这样占位符不会被视为查询的一部分,而只是作为数据的一部分.

因此,不添加任何斜线,也不需要striplashes().

如果为您添加了斜杠,请确保为PDO实例禁用预准备语句仿真:

$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐