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