PHP в деталях

       

Комментарии к статье ""


29.12.2000 16:26  addslashes
http://www.php.net/addslashes - read!
Ответ DL:

Ну, да, Oracle - есть Oracle :)
21.1.2001 17:34  BOLK
> Данные типа DATE, TIME, DATETIME и TIMESTAMP можно форматировать с помощью функции
> date_format (см. руководство по mysql). Используйте его, и не форматируйте данные
> через php - это не просто "самодеятельность", а ещё и растрата системных ресурсов.

Можно подумать, что MySQL, форматируя дата не тратит те же системные ресурсы... хотя если сервер СУБД на другой машине, то тратятся конечно другие. Но все равно, те же яйца.
Ответ DL:

Тратит, но на порядок меньше ? а это существенно. Эта функция полезна не только этим. Например, построить из логов распределение посещений по дням недели (группировка нужна) ? это только через date_format можно.
21.1.2001 17:37  BOLK
"обработать его с помощью intval: $id = intval($id))" Будет короче: $id = (int) $id. А еще забыли о крайне полезной штуке - LIMIT
Ответ DL:

В одном из следующих выпусков LIMIT описан.
8.2.2001 16:43  Олег
$somefield = str_replace("'", "'", $somefield).

Хммм... А может быть правильно $somefield = str_replace("'", "", $somefield)?
1.3.2001 10:18  pv@  []
>>>> По возможности минимально используйте LEFT JOIN для объединения таблиц. Это весьма трудоёмкая операция для базы данных.

На самом деле - это утвержденгие не совсем корректно. LEFT JOIN работает быстро при условии что правильно построены индексы :).

А проверить насколько сложен запрос и какие ресурсы будут задествованы можно при помощи:

explain YOUR_SQL_CODE_HERE ;

Enjoy!
Ответ DL:

И если таблицы не очень большие :)
19.3.2001 19:45  Mike  []
> $somefield = str_replace("'", "'", $somefield). Хммм... А может быть правильно $somefield = str_replace("'", "", $somefield)?

А можно просто пресечь все(кроме a-z 0-9 - кто-нибудь серьезно пользуется логинами типа ##kolya или $%^vasya?) Из полученной строки исключаются все ключевые слова SQL.

Если это имя пользователя, и при регистрации он захотел себе странноватое имя, напоминающее SQL запрос, то вываливается сообщение типа "Это имя уже занято..." :)

Проще надо быть, а то живете почти что на физическом уровне OSI, про простейшие вещи забываете. И про методологию проектирования БД почти ничего нет. Так в основном, примитивные вещи. Скажете - а зачем это "им"? "Нам" это было бы полезно... Местами...

После нас эта "БЭДЭ" достанется другим. Очень не хочется, чтобы кто-нибудь плевался из-за того, что я когда-то считал себя Программистом.
Ответ DL:

Ой, давно пора там исправления делать, руки не доходят. :)
<

Содержание раздела