我正在尝试使用PDO制作一个简单的项目。我有一个带有两个SELECT函数的 UserDAO 类:
public function getAll(){
$query="select * from users";
$res = $this->db->query($query);
return $res;
}
......而这一个......
public function getAllWhere($where){
$query="select * from users where ?";
$res = $this->db->query($query,array($where));
return $res;
}
当我调用函数 getAll()时,它可以正常工作:
<?php
$ud = new UserDAO();
$result=$ud->getAll();
foreach ($result as $row){
echo '<br/>'.$row['id'].' '.$row['username'];
}
?>
但是当我尝试使用其他功能时......
<?php
$ud = new UserDAO();
$result=$ud->getAllWhere('id>10');
foreach ($result as $row){
echo '<br/>'.$row['id'].' '.$row['username'];
}
?>
......它不起作用。错误是:
PDOStatement :: execute()期望参数1为数组,给定字符串
如何将整个WHERE条件作为参数传递?我还想向前迈出一步,并将表名(“users”)作为参数插入。
感谢。