Я пытаюсь поместить объекты, содержащие элементы из набора результатов sql, в массив. Мой код выглядит так:
$data = array();
$sql = "SELECT id,type,name,username FROM users";
foreach ($conn->query($sql) as $row) {
$this->set_id($row['id']);
$this->set_type($row['type']);
$this->set_username($row['username']);
$this->set_password($row['password']);
$data[] = $this;
}
Мой набор результатов правильный, но после завершения цикла foreach я перезаписываю ячейки массива значениями из последнего набора записей. Например, если у меня есть эти результаты {1,'type1','user','pass'}
, {2,'type2','foo','bar'}
, когда я печатаю свой массив $data
вне цикла, я получаю только второй набор результатов, повторяющийся дважды. Что я делаю неправильно?