我使用的是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)说它关闭了