PDO:获取结果时使用条带斜杠


PDO: stripslashes when getting results

我使用的是PDO准备好的语句,因此在插入数据库之前,它会在需要时添加斜杠。

我想知道如何在不显示斜线的情况下获得结果并在网站上显示。

它和使用echo stripslashes($result->message);一样简单吗?

以下是我的查询:

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

这是我的query方法:

public function query($query, $bind=null)
{
    global $pdo;
    # Prepare Statment
    $this->statement = $this->pdo->prepare($query);
    # Execute Query
    $this->statement->execute($bind);
}

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

Prepared语句不会在查询数据中添加斜杠。它们以占位符的形式将参数注入到查询中,使得占位符不被视为查询的一部分,而仅被视为数据的一部分。

因此,不添加斜线,也不需要stripslashes()

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

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

get_magic_quotes_gpc确实打开了,尽管WHM(cPanel)说它关闭了