@IvanVvV

Возможна ли такая конструкция на 5.2.17?

Переношу на другой сервер и этот кусок кода не хочет работать на php версии 5.2.17
public function status(){
		$res = db::query('
			SELECT `status`, `visits` FROM `nameid` WHERE `ip` = "%s"
			',
			$_SERVER['REMOTE_ADDR']
		);

		$tmp = $res->fetch_assoc();
		$this->visits = $tmp['visits'];
		$this->status = $tmp['status'];
		return ($tmp['status'] < 6 && $this->visits < $this->limit);
	}


$tmp = $res->fetch_assoc(); не получает никаких данных, дело в версии php или я ошибаюсь?
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
@IvanVvV Автор вопроса
Вопрос решен.
Rsa97 большое спасибо!

на 5.2.17
//работает так:
		$adv = $res->num_rows;
		return isset($adv) && $res->num_rows ? $res : false;

//вместо:
return isset($res->num_rows) && $res->num_rows ? $res : false;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@0ffff0

Возможна ли такая конструкция на 5.2.17?
$tmp = $res->fetch_assoc();
    $this->visits = $tmp['visits'];
    $this->status = $tmp['status'];
    return ($tmp['status'] < 6 && $this->visits < $this->limit);

- Нет.
до 5.3.0 fetch_assoc работает с while:
while ($row = $result->fetch_assoc()) {
    // do what you need.
}


дело в версии php или я ошибаюсь?

- Очевидно да.
нагуглено с
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы