我有这样的方法:
public function query ($sql) {
$this->result = $this->db->query($sql);
}
将查询语句绑定到结果变量。这真的很方便,因为我有几种方法可以输出一些东西,还有另一种方法可以处理$result
其他任务的变量。
但是我想使用相同的方法,但是在准备好的语句上(以逃避插入的数据),我遇到了一个问题:
public function prepare ($sql) {
$this->result = $this->db->prepare($sql);
}
我试着像这样使用它:
public function insert ($this, $that) {
// Then I tried to use my prepare method
$var = $this->prepare(INSERT INTO Table (Row1, Row2) VALUES (:Val1, :Val2));
$var->bindValue(":Val1", $this, PDO::PARAM_INT);
//... and so on
}
问题出现在$var->bindValue()
“在非对象上调用成员函数 bindvalue()”。因为我不太了解错误消息,这里到底发生了什么?如果我使用 query 方法查询我的数据库,它工作得很好,但是如何使用 prepare 方法绑定值?