Сначала необходимо преобразовать введенные даты в формат даты базы данных гггг-мм-дд
blockquote>$from = date('Y-m-d',strtotime(
Сначала необходимо преобразовать введенные даты в формат даты базы данных гггг-мм-дд
blockquote> [110]ИЛИ
POST['from'])); $end = date('Y-m-d',strtotime($sql = "SELECT * FROM table_name WHERE (from_date_column >='" . $from . "' AND to_date_column <='" . $end . "')";
Сначала необходимо преобразовать введенные даты в формат даты базы данных гггг-мм-дд
blockquote> [110]ИЛИ
POST['end '])); $sql = "SELECT * FROM table_name WHERE (date_column_name1 BETWEEN '" . $from . "' AND '" . $end . "') AND (date_column_name2 BETWEEN '" . $from . "' AND '" . $end . "')";$sql = "SELECT * FROM table_name WHERE (from_date_column >='" . $from . "' AND to_date_column <='" . $end . "')";
ИЛИ
$sql = "SELECT * FROM table_name WHERE (from_date_column >='" . $from . "' AND to_date_column <='" . $end . "')";
Поместите его в реальную базу данных и текстовый файл, и DB SQLite будет иметь проблемы блокировки, где, если файл (файлы) в настоящее время открыт и новый запрос для открытия это происходит, второй запрос будет ошибка. Используйте реальный DB как MySQL, MSSQL, или независимо от того, что доступно.
третья возможность: memcachedb. это совместимо с memcached, но хранит, это - хранилище значения ключа в файл BDB. это не только имеет команды чтения-записи, но также и атомарный инкремент/декремент для числовых значений.
еще одна альтернатива должна была бы записать 'встречный сервер'. независимый процесс, который получает 'считанные' и 'инкрементные' команды по сокету. преимущество состоит в том, что действительно легко сделать 'атомарные' инкременты. это хранит, это - счетчик (счетчики) на простом файле без проблем параллелизма, так как никогда нет, чем один сервер.
должно быть легко записать меньше чем в ста строках C. просто жесткий цикл, обрабатывающий одну команду за один раз, сбросив к диску каждые несколько секунд. так как обработка так проста, задержка минимальна.
База данных обычно масштабировалась бы лучше, чем файловая система, но Вы испытываете необходимость, чтобы быть осторожными и использовать соответствующие блокировки с любым механизмом.
Конечно, используйте плоский файл.
Если Вам когда-либо будет нужно что-то максимально быстро, необходимо будет сделать персистентный процесс в памяти для устранения узкого места ввода-вывода. Но... просто не используйте базу данных SQL для хранения единственного целого числа.
Вы могли использовать общую память для содержания счетчика, и блокирующий для обеспечения безопасных инкрементов.
Согласно SQLite это может обработать сайты, которые подходят "100K [так] хиты/день". При осмотре через это Вы, возможно, должны исследовать более устойчивую базу данных как MySQL. Но если Вы пишете записи 100k на базу данных каждый день для одного веб-сайта, я думаю, что что-то неправильно с тем, что Вы делаете, на основе Вашего примера. Это действительно походит на задание для кэширования. О котором я ничего не знаю в PHP, извините.
Они говорят следующее о файлах по сравнению с SQLite: "Много программ используют fopen (), освобожденный (), и fwrite (), чтобы создать и управлять файлами данных в форматах собственной разработки. SQLite работает особенно хорошо заменой для этих специальных файлов данных". (источник)