php - PDO:获取结果时去除斜线

标签 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) 说它已关闭

最佳答案

准备好的语句不会向您的查询数据添加斜杠。它们以占位符的形式将参数注入(inject)到查询中,这样占位符就不会被视为查询的一部分,而只会被视为数据的一部分。

因此,没有添加斜杠,也不需要 stripslashes()

如果为您添加了斜杠,请确保为您的 PDO 实例禁用准备好的语句模拟:

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

关于php - PDO:获取结果时去除斜线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12222048/

相关文章:

php - 模拟 PDO 获取失败的情况

wordpress - 如果在服务器上关闭魔术引号,wordpress 会做什么?

javascript - 如何使用php将数据插入到登录的用户列中?

php - 将 select 语句中的 mysql 数字格式化为 php

php - Travis-CI 是否需要为 PHP 项目设置 SQLite?

php - 如何在显示之前正确显示 "clean"mysql 字符串?

bash - 从每个参数中删除尾部斜杠的最简单方法是什么?

php - 无法添加或更新子行: a foreign key constraint fails(Foreign key issue in mysql)

php - 如果在 WooCommerce 中自动添加包装,则在选择产品重量时不计算最终成本