我有以下功能,允许我对数据库执行查询(在同一个类中指定)。
我是否需要使用bind_param
函数来安全地转义这些变量?
如果没有,我如何将传递给函数的变量作为值分配给键?
public function query($dms, $col, $date, $ascDesc)
{
$this->stmt = $this->dbh->prepare("{$dms} {$col} FROM {$this->table} ORDER BY UNIX_TIMESTAMP({$date}) $ascDesc");
$this->stmt->execute();
return $this;
}
答案 0 :(得分:0)
以这种方式你可以使用这样的东西(记得只绑定值,而不是数组...以防数组使用foreach并绑定每个值):
public function query($dms, $col, $date, $ascDesc)
{
$this->stmt = $this->dbh->prepare("{$dms} :col FROM {$this->table} ORDER BY UNIX_TIMESTAMP(:date) :ascDesc;");
$this->stmt->bindParam(':col', $col, PDO::PARAM_STR);
$this->stmt->bindParam(':date', $date, PDO::PARAM_STR);
$this->stmt->bindParam(':ascDesc', $ascDesc, PDO::PARAM_STR);
$this->stmt->execute();
return $this;
}