我有这个类来查询数据库中的表。
class QueryBuilder {
private $pdo;
public function __construct($pdo) {
$this->pdo = $pdo;
}
public function getAll($table) {
$stm = $this->pdo->prepare("select * from :targetTable");
$stm->bindValue(':targetTable', 'albums', PDO::PARAM_STR);
$stm->execute();
return $stm->fetchAll();
}
}
每次使用bindValue函数时,我都会返回一个空数组。 如果我打开错误报告模式,则说明
PDOStatement :: execute():SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;检查与您的MySQL服务器版本相对应的手册,以便在第1行的“相册”附近使用正确的语法
当我使用时
$stm = $this->pdo->prepare("select * from albums");
它的工作方式与预期相符。函数由
调用$query->getAll('albums');
感谢您的帮助