Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как запретить кэирование результата запроса MySQL в PHP? / 7 сообщений из 7, страница 1 из 1
31.12.2014, 19:12
    #38847295
Алексей Смирнов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить кэирование результата запроса MySQL в PHP?
Первый раз с таким столкнулся. Есть функция JavaScript, внутри неё идет обращение к базе MySQL через PHP. Все работает. Но при повторном обращении к базе данных, результат выдается прежний (т.е. как буд-то кэшируется где-то). Результат прежний до тех пор, пока не перегрузишь всю страницу через F5. Можно ли как-то запретить такое кэширование?

Пример:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
	// определение максимального номера
	<?php
		// формирование запроса
		$strSQL = "SELECT Max(`table1`.`Number`)+1 AS `MaxNumber` FROM `table1`;";
		// обращение к базе данных
		$result = mysql_query_test($strSQL);
		// определение результата
		if ($row = mysql_fetch_array($result))
			echo "var strNumber ='".$row['MaxNumber']."/у';";
		else
			echo "var strNumber =  ' ' ;";
	?>	



В этом примере возвращается максимальный номер, который в этой же функции (через Ajax) записывается в базу данных. Но при повторном обращении номер должен быть максимальный тот, который записан, а он вместо этого запросом возвращается прежний(
...
Рейтинг: 0 / 0
31.12.2014, 19:24
    #38847296
Алексей Смирнов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить кэирование результата запроса MySQL в PHP?
Попробовал убрать var перед strNumber.
Результат тот же.
...
Рейтинг: 0 / 0
31.12.2014, 19:26
    #38847298
Алексей Смирнов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить кэирование результата запроса MySQL в PHP?
Попробовал в конце функции написать strNumber = ' '; (т.е. очистил предыдущий результат переменной).
Не помогло.
Получается кэшируется сам результат запроса MySQL внутри PHP.
...
Рейтинг: 0 / 0
31.12.2014, 19:35
    #38847300
Алексей Смирнов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить кэирование результата запроса MySQL в PHP?
Попробовал в разделе <head> добавил:

<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Cache-Control" content="private">

Не помогло(
...
Рейтинг: 0 / 0
31.12.2014, 19:42
    #38847304
Алексей Смирнов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить кэирование результата запроса MySQL в PHP?
Я все понял!
Код PHP выполняется только 1 раз на сервере!
Поэтому результат функции всегда один и тот же.

Нужно этот код PHP делать отдельным PHP-файлом и вызывать через Ajax.

Тема закрыта.
...
Рейтинг: 0 / 0
31.12.2014, 20:42
    #38847320
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить кэирование результата запроса MySQL в PHP?
1. Отдавайте с ответом заголовки, запрещающие кеширование (нокеш, ностори, маст ревалидейт и т.д. и т.п.).
2. Для особо упёртых случаев добавляйте к запросу GET-параметр со случайным числом, таймштампом и т.п.
...
Рейтинг: 0 / 0
01.01.2015, 09:18
    #38847386
Алексей Смирнов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить кэирование результата запроса MySQL в PHP?
vkle1. Отдавайте с ответом заголовки, запрещающие кеширование (нокеш, ностори, маст ревалидейт и т.д. и т.п.).
2. Для особо упёртых случаев добавляйте к запросу GET-параметр со случайным числом, таймштампом и т.п.

Спасибо. Про это я читал в Интернете. У меня причина в другом была. См.выше.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как запретить кэирование результата запроса MySQL в PHP? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]