我正在使用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)表示已关闭
答案 0 :(得分:4)
预准备语句不会在查询数据中添加斜杠。它们以占位符的形式将参数注入查询,这样占位符不会被视为查询的一部分,而只是作为数据的一部分。
因此,不会添加任何斜线,也不需要stripslashes()
。
如果为您添加了斜杠,请确保为PDO实例禁用预准备语句仿真:
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
答案 1 :(得分:1)
get_magic_quotes_gpc
确实已经打开了