function query($query) {
return $this->mysqli->query($query);
}
function select(){
// ...
while ($row = $result_set->fetch_assoc()) {
$data[$i] = $row;
$i++;
}
$result_set->close();
return $data;
}
$result_set->close(); или mysqli_free_result($articles_data);, вызванные внутри блока while, но у меня, как видите, не так. $result_set->close();, то есть цикл благополучно завершается, кроме того, в массиве находятся правильные данные (в смысле то, которые я хотел получить из БД).$result_set перез вызовом fetch_assoc:Обновление Полный листинг функций
private function query($query) {
return $this->mysqli->query($query);
}
private function query($query) {
return $this->mysqli->query($query);
}
private function select($table_name, $fields, $where = "", $order = "", $up = true, $limit = "") {
for ($i = 0; $i < count($fields); $i++) {
if ((strpos($fields[$i], "(") === false) && ($fields[$i] != "*")) {
$fields[$i] = "`".$fields[$i]."`";
}
}
$fields = implode(",", $fields);
$table_name = $this->config->adminPanel_TablePrefix.$table_name;
if (!$order) {
$order = "ORDER BY `id`";
}
else {
if ($order != "RAND()") {
$order = "ORDER BY `$order`";
if (!$up) {
$order .= " DESC";
}
}
else {
$order = "ORDER BY $order";
}
}
if ($limit) {
$limit = "LIMIT $limit";
}
if ($where) {
$query = "SELECT $fields FROM $table_name WHERE $where $order $limit";
}
else {
$query = "SELECT $fields FROM $table_name $order $limit";
}
$result_set = $this->query($query);
if (!$result_set) {
return false;
}
$i = 0;
while ($row = $result_set->fetch_assoc()) {
$data[$i] = $row;
$i++;
}
$result_set->close();
return $data;
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости