调用下面的方法时出现“Array to string conversion”错误。错误行是方法中的唯一行(具有数据库查询的行)。
public function setStatus($status) {
$this->mysqli->query("UPDATE projects SET status='$status' WHERE id='$this->data[id]' LIMIT 1");
}
如果我稍微修改方法,它可以正常工作:
public function setStatus($status) {
$id = $this->data['id'];
$this->mysqli->query("UPDATE projects SET status='$status' WHERE id='$id' LIMIT 1");
}
我做错了什么? 以下是有关“数据”属性的更多信息:
$result = $this->mysqli->query("SELECT * FROM projects WHERE id='123' LIMIT 1");
$this->data = $result->fetch_assoc();
答案 0 :(得分:3)
public function setStatus($status) {
$this->mysqli->query("UPDATE projects SET status='$status' WHERE id='$this->data[id]' LIMIT 1");
}
到
public function setStatus($status) {
$this->mysqli->query("UPDATE projects SET status='$status' WHERE id='".$this->data['id']."' LIMIT 1");
}
在id字段注意我改变了它。