Удалить двойные пробелы с помощью PHP
31/03/09 в 23:03 | просто прочесть =)Удалить двойные пробелы можно с помощью следующего кода:
1 | while (strpos($s,' ')!==false ) { $s = str_replace(' ',' ',$s); } |
или
1 | ereg_replace('[ ]+',' ',$var) |
или
1 | preg_replace('/\s+/', ' ', $var); |
это так, в мемо, для себя.
SQL COUNT и его маленькие хитрости
02/03/09 в 21:03 | просто прочесть =)Вот небольшой trick с оператором COUNT в sql.
Как мы знаем оператор COUNT может иметь следующие аргументы
- ALL — Применяет статистическую функцию ко всем значениям. ALL применяется по умолчанию.
- DISTINCT — Указывает, что функция COUNT возвращает количество уникальных значений, не равных NULL.
- expression — Выражение любого типа, за исключением text, image или ntext. Статистические функции и вложенные запросы запрещены.
Также в манах можно найти следующее:
- Функция COUNT(*) возвращает количество элементов в группе. Сюда входят значения NULL и повторяющиеся значения.
- Функция COUNT(ALL expression) оценивает expression для каждой строки в группе и возвращает количество значений, не равных NULL.
- Функция COUNT(DISTINCT expression) оценивает expression для каждой строки в группе и возвращает количество уникальных значений, не равных NULL.
- Для возвращаемых значений, больших 2^31-1, функция COUNT формирует сообщение об ошибке. Вместо этого следует использовать COUNT_BIG.
Но стоит учесть, что COUNT понимает либо значение, либо NULL
Итак фишка в выражениях.
SELECT COUNT(*), COUNT( CASE WHEN `read`='0' THEN 1 ELSE NULL END) ...
Пользуйтесь на здоровье.
Защита от SQL инъекции с помощью mod_rewrite
27/01/09 в 10:01 | просто прочесть =)Не секрет, что можно взломать абсолютно любой сайт, идеальной защиты не бывает. Взломать интернет сайт, намного легче, чем взломать прикладную программу, да и делать это гораздо интереснее, ведь твои труды увидят тысячи пользователей (разумеется если взломанный сайт достаточно популярен).
На сегодняшний день известно множество методик взломов интернет-сайтов, одним из самых опасных является так называемая инъекция (Injection — введение). Инъекция бывает разной можно внедрить свой код в программу, можно внедрить инородные данные в поток чужих данных, но одной из самых опасных для интернет-сайтов является SQL инъекция (SQL Injection). Из названия уже становится понятно, что и куда внедряется. На всякий случай поясню, при SQL инъекции мы внедряем наш код в SQL запрос, в результате чего при благополучных обстоятельствах мы можем получить данные хранящиеся в базе данных не доступные для просмотра стандартными средствами. Многие полагают, что SQL инъекцией страдает только база данных MySQL, но это конечно же не так. SQL инъекцию можно осуществить в любую базу, поддерживающую языки запросов (а таких большинство).
Читать полностью >>> Защита от SQL инъекции с помощью mod_rewrite…