2 回答
TA贡献1993条经验 获得超5个赞
bindValue()是 PDOStatement 对象的一个方法,由 prepare 调用返回。你想要这样的东西:
$query = $pdo->prepare('SELECT * FROM articles WHERE article_id = ?');
$query->bindValue(1, $article_id);
$query->execute();
您还可以使用命名参数:
$query = $pdo->prepare('SELECT * FROM articles WHERE article_id = :article_id');
$query->bindValue('article_id', $article_id);
$query->execute();
另外,不要依赖全局变量,它打破了面向对象编程的基本概念。相反,将 PDO 连接对象作为参数传递给 Article 对象。这称为依赖注入。
class Article
{
protected $pdo;
public function __construct($pdo) {
$this->pdo = $pdo;
}
public function fetch_all() {
$query = $this->pdo->prepare("SELECT * FROM articles");
$query->execute();
return $query->fetchAll();
}
}
然后$pdo在实例化文章时作为参数传递:
$article = new Article($pdo);
- 2 回答
- 0 关注
- 121 浏览
添加回答
举报