Правильно ли написан php-код?

На внутренней странице для вывода одной строки:
$id=1;
$views = $pdo->prepare('UPDATE post SET views=views+1 WHERE id = ?');
$views->execute([$id]);
$post = $pdo->prepare('SELECT * FROM post WHERE id = ?');
$post->execute([$id]);
$game = $post->fetch();


А внизу вывод комментариев:
$q = $pdo->prepare('SELECT * FROM comment WHERE app_id = "'.$comm_id.'" ORDER BY id');
	$q->execute();
	while ($comm = $q->fetch()){
}


Нормально? Не вытаскиваю ли я лишних данных? А то хостер каждый день ставит мне ограничения по ресурсам т.к. мои скрипты сильно грузят процессор.
  • Вопрос задан
  • 321 просмотр
Пригласить эксперта
Ответы на вопрос 4
Если комментарии без пагинации, то вроде ничего лишнего. А от хостера такого надо уходить. Либо к другому хостеру, если ничего нагруженного не держите, и он просто наглеет, либо на сервер с мощностями, соответствующими требованиям.
Ответ написан
@IceJOKER
Web/Android developer
@Kostik_1993
Web Developer
Я думаю тебе нужно привести полный код. То что ты показал это наипростейшие два запоса.

for($i=1; $i<100; $i++){
			$array_id = $PDO->query('SELECT id_board_post FROM board_post');
			foreach ($array_id as $id){
				$id = $id['id_board_post'];
				$views = $PDO->prepare('UPDATE board_post SET count=count+1 WHERE id_board_post = :id');
				$views->execute(array('id' => $id));
				$post = $PDO->prepare('SELECT * FROM marka, board_post,  model 
									WHERE id_board_post= :id 
									AND model.id_model=board_post.id_model 
									AND board_post.id_marka=marka.id_marka LIMIT 1');
				$post->execute(array('id' => $id));
				$game = $post->fetch(PDO::FETCH_ASSOC);
				echo $game['brand'];
			}
		}


Вот такой запрос у меня не вызывает никаких проблем. Вероятнее всего у тебя конфликт в другом месте где-то, он и тормозит и грузит код.
Ответ написан
Комментировать
@bigl
А индексы в базе по полям из where у вас есть?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы