PHP array_push положить то же значение в массив?
Я пытаюсь создать свой собственный класс "База данных" для MySQLi, это классический класс, который взаимодействует с базой данных, поэтому в мое веб-приложение я могу сделать (например)
$user = $database->select($connection, "SELECT * FROM user");
Итак, я написал функцию (это та часть, где в запросе нет параметров)
public function select($link, $query, $types, $arrayValues)
{
$set = array(); //this is what the function will return
$statement;
if($types == null && $arrayValues == null)
{
$statement = $link->prepare($query);
if($statement->execute())
{
$statement->store_result();
$meta = $statement->result_metadata();
$fileds = array();
$results = array();
//put into the array the exact number of variables for call_user_func_array
while($field = $meta->fetch_field())
{
$var = $field->name;
$$var = null;
$fields[$var] = &$$var;
}
$fieldCount = $statement->field_count;
call_user_func_array(array($statement,'bind_result'),$fields);
while($statement->fetch())
{
$set[] = $fields;
}
echo '<pre>';
print_r($set);
echo '</pre>';
}
}
else
{
part of the function where there are parameters in the query
}
return $set;
}
Теперь проблема в том, что $ set (который должен быть возвращен) является массивом, но все значения массива одинаковы: последняя запись, которую я извлек с помощью запроса. Зачем? я схожу с ума