HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

[PHP/MySQL] Отключение кэша MySQL
  #1  
Старый 11.08.2009, 08:35
Kuzya
Участник форума
Регистрация: 27.04.2008
Сообщений: 224
С нами: 9494306

Репутация: 313
По умолчанию [PHP/MySQL] Отключение кэша MySQL

Здравствуйте. Тему создаю т.к. вообще не разбираюсь в механизмах работы с кэшированием в MySQL.
Есть код добавления данных в БД и их последующего показа. На локальном компьютере скрипт легко выполняет эти операции. А на хостинге происходит какой-то глюк. Например в БД есть 4 записи. Захожу в скрипт, добавляю ещё одну. Скрипт показывает что новой записи нет, как будто не добавлено. В phpMyAdmin видно что записей стало 5. Создаю чистый скрипт, пишу в нём вывод запроса select count(id)... и он выдаёт мне 4! В phpMyAdmin тот же запрос выдаёт 5. Такое впечатление что MySQL запомнил первоначальный результат (4 строки) и теперь постоянно его выдаёт, а PMA работает в обход этому кэшу. Скажите пожалуйста, как сделать так чтоб проблема исчезла?
Версия MySQL - 5.0.45
 
Ответить с цитированием

  #2  
Старый 11.08.2009, 09:55
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами: 9649706

Репутация: 3338


По умолчанию

Ну тут может от запроса зависеть, покажи код, которым цепляешь данные из БД
 
Ответить с цитированием

  #3  
Старый 11.08.2009, 10:13
dr.5y51em
Новичок
Регистрация: 03.08.2009
Сообщений: 4
С нами: 8827345

Репутация: 4
По умолчанию

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0,pre-check=0", false);
header("Cache-Control: max-age=0", false);
header("Pragma: no-cache");
 
Ответить с цитированием

  #4  
Старый 11.08.2009, 10:28
rcc0023
Участник форума
Регистрация: 03.07.2008
Сообщений: 177
С нами: 9398085

Репутация: 11
По умолчанию

Kuzya, браузер меняй xD
 
Ответить с цитированием

  #5  
Старый 11.08.2009, 15:22
Kuzya
Участник форума
Регистрация: 27.04.2008
Сообщений: 224
С нами: 9494306

Репутация: 313
По умолчанию

Причём тут браузер и кэширование в нём? Читайте пожалуста внимательнее вопрос. Я писал что не только браузер выдаёт устаревший результат, но и запросы типа SELECT COUNT(id)... говорят что количество записей не изменилось (хотя PMA показывает отлично и выдаёт другой результат).

Pashkela, запрос самый обычный- SELECT * FROM news WHERE id=*
 
Ответить с цитированием

  #6  
Старый 11.08.2009, 15:24
KaMiKadZe
Участник форума
Регистрация: 24.02.2006
Сообщений: 206
С нами: 10635912

Репутация: 103
По умолчанию

Попробуй select COUNT(id) и если результат не измениться значит проблема не в mysql
или попробуй
SELECT SQL_NO_CACHE COUNT (id)
 
Ответить с цитированием

  #7  
Старый 11.08.2009, 15:32
Kuzya
Участник форума
Регистрация: 27.04.2008
Сообщений: 224
С нами: 9494306

Репутация: 313
По умолчанию

Сейчас всё исправилось. Странно, видимо что-то делала администрация хостинга.
Камикадзе, спасибо. Почитаю в интернете про SQL_NO_CACHE
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защита БД MySQL от SQL инъекций с помощью GreenSQL xcedz Для Администратора 5 02.04.2009 21:46



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.