Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Посоветуйте класс для работы с MySQL (http://www.flasher.ru/forum/showthread.php?t=71373)

ninja_127 03.11.2005 15:37

Посоветуйте класс для работы с MySQL
 
сабж
+ хотелось бы услышать комментарий почему именно этот используется

msdn 03.11.2005 15:58

а на фига он тебе? там 4 ф-ции, или 5 надо юзать. а ты хочеш класс из этого нагородить?

Skubent 03.11.2005 16:02

Я юзаю написанный где-то за полчаса самостоятельно, причем исключительно от лени собственной писал -
$allhumans = $database -> Select('id, pol, rost,ves', 'humans')
писать быстрее и нагляднее, чем
$allhumans = mysql_query('select id, pol, rost, ves from humans');

ninja_127 03.11.2005 16:23

Цитата:

Сообщение от msdn
а на фига он тебе? там 4 ф-ции, или 5 надо юзать. а ты хочеш класс из этого нагородить?

Это не тот ответ, который мне нужен )
Раз я спрашиваю, значит мне он нужен )

-MS- 03.11.2005 22:37

сам напиши :)

Nirva 03.11.2005 23:53

советую так же самому написать.

ninja_127 04.11.2005 18:11

Цитата:

Сообщение от Nirva
советую так же самому написать.

Писал много раз
Хочется что-нибудь быстрое и очень функциональное
одновременно очень универсальное

Serzhik 04.11.2005 23:08

Цитата:

Сообщение от ninja_127
Писал много раз
Хочется что-нибудь быстрое и очень функциональное
одновременно очень универсальное

Я использую PEAR::DB
http://phpclub.ru/detail/article/2002-11-01
Плюсы:
- универсальность (при смене базы не приходится переписывать код)
- безопасность (класс "сам" экранирует спец.символы)

До этого в нескольких проектах использовал самопальный класс с описанным выше принципом: в функцию передается название таблицы и перечень полей, а она уже сама генерирует запрос и возвращает результат. Столкнулся с проблемой: этот вариант подходит только для простых select'ов вида
SELECT * FROM <table> WHERE <where>
Если же требуется объединять несколько таблиц, да еще использовать специфические функции MySQL (например, для работы с датой или преобразование кодировок), то этот вариант уже не катит:)

cosmo 09.01.2006 10:23

Посмотри тогда и мой класс - http://www.flasher.ru/forum/showthread.php?t=73918

Serzhik 09.01.2006 11:45

Цитата:

Сообщение от cosmo
Посмотри тогда и мой класс - http://www.flasher.ru/forum/showthread.php?t=73918

Идея хорошая! Единственное, что мне не понравилось (вернее, не годится в некоторых случаях): у тебя в каждой таблице по умолчанию определяется primary key id, к тому же автоинкрементный. Безусловно, в 90% случаев так и делается. Но, как я говорил выше, при нестандартных или достаточно сложных ТЗ, такой вариант не проходит (например, удобнее использовать составной PK)...
Но, имхо, в 90% он отлично подойдет:)
P.S. Кстати, я думаю, в функциях update и insert не помешает что-то типа:
@$values.=",'".mysql_real_escape_string($v)."'";


Часовой пояс GMT +4, время: 06:26.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.