3

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

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

4

2 回答 2

4

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

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

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

$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
于 2012-08-31T20:33:47.190 回答
1

get_magic_quotes_gpc即使WHM(cPanel)表示它已关闭,也确实已打开

于 2012-09-01T07:38:32.053 回答