我有以下功能。我希望它打印其参数中提供的表中的行数。
private function getTotalCount($tbl){
$sql = "SELECT count(*) FROM :tbl ;";
$sth = $this->db->prepare($sql);
$sth->execute(array(
':tbl' => $tbl
));
$data = $sth->fetch(PDO::FETCH_ASSOC);
print_r($data);
}
但该功能不打印任何东西......
当我将函数替换为如下内容时:
private function getTotalCount($tbl){
$sql = "SELECT count(*) FROM $tbl ;";
$sth = $this->db->prepare($sql);
$sth->execute();
$data = $sth->fetch(PDO::FETCH_ASSOC);
print_r($data);
}
然后它工作正常并打印行数。
问题:为什么 execute() 函数没有将 :tbl 参数绑定到 $tbl ?