Помощник
|
Класс для работы с БД |
sc2r2bey
|
Сообщение
#1
|
||
|
|
||
|
|||
ZiTosS |
26.10.2009, 21:34;
Ответить: ZiTosS
Сообщение
#2
|
|
sc2r2bey, Чтобы работать с разными базами данных? Например чтобы сразу можно было работать и с PostgreeSQL, MySQL и подобными используя один и тот же интерфейс.
Это давно уже реализовано, а с введением PHP5 сделать это стало намного проще, появились абстрактные классы и интерфейсы Универсальные классы для работы сразу с несколькими БД, или имея один интерфейс, пользуемся разными БД Существуют такие классы как: 1) AdoDB 2) DAC 3) class.DBI 4) Muze Abstract DB 5) DIOW Так что выбор относительно большой. Вот статья по adoDB, но мне она сразу не понравилась с этапа установки, там расписано как подключить полный пакет, а нам бы в разных случаях не хотелось лишнего кода к проекту подключать... |
|
|
sc2r2bey
|
Сообщение
#3
|
|
Подскажите как реализовать функцию для работы с БД, т.е. чтоб она выполняла стандартные операции типа SELECT INSERT UPATE DELETE просто не пойму как будут обрабатываться таблицы у которых разная структура и названия полей, спасибо!
-------------------- программирую web и для we |
|
|
ZiTosS |
16.11.2009, 1:09;
Ответить: ZiTosS
Сообщение
#4
|
|
sc2r2bey, вопрос не понятен. На примере одного из классов или что?
А вообще я бы по вашему вопросу ответил так: "Юзайте в PHP mysql_query() она как раз подходит" |
|
|
gaaarfild |
17.11.2009, 11:27;
Ответить: gaaarfild
Сообщение
#5
|
|
Я думаю, он имел ввиду, чтобы в разных СУБД использовать MySQL, а класс чтобы сам определял, какая СУБД и сам переделывал запрос под нее, я правильно понял?
|
|
|
ZiTosS |
17.11.2009, 11:35;
Ответить: ZiTosS
Сообщение
#6
|
|
gaaarfild, сам-то понял что сказал? СУБД - система управления базами данных, которой и является MySQL. А теперь прочти и скажи, чем же ты там собрался управлять:
... чтобы в разных СУБД использовать MySQL ... Я так понял ты имел ввиду БД? Тогда если ты подключился к серверу, к таблицам можно обращаться так в запросах: dbName.tableName И тогдо даже нет надобности выбирать БД с помощью mysql_select_db() Если ты имел ввиду использование разных СУБД, например postgreeSQL, MySQL, MSSQL и так далее, через один интерфейс, то это уже совсем другое. Так вот я и пытаюсь узнать у sc2r2bey, что он имел ввиду. |
|
|
sc2r2bey
|
Сообщение
#7
|
|
ограничемся пока MySQL
например при обращении к БД пишется запрос [php]$sql = "SELECT * FROM table"; $select_table = mysql_query($sql);[/php] ну и так далее и так при каждом запросе и с разными таблицами, я подумал можно вынести это в функию, передавая необходимые параметры, что не плодить кучу кода -------------------- программирую web и для we |
|
|
ZiTosS |
17.11.2009, 14:20;
Ответить: ZiTosS
Сообщение
#8
|
|
Ну допустим классы используют подобную модель. Там просто передаются параметры в функцию в качестве массива к примеру
[php]$query = array( "what" => "SELECT", "fileds" => array( "pole1", "pole2" ), "table" => "table", "order_by" => array("fields" => array(...), order => "ASC"), "limit" => array(0,10) ); dbOblect->methodName($query);[/php] Это пример простейший, структуризация запроса зависит от тебя. Какие передавать параметры в массиве а какие нет зависит от тебя. Метод при обработке массива будет проверять входящие данные и формировать строку запроса. А затем просто выполнит запрос и вернёт результат. Результат может из себя также класс со своими методами(обход ресурса, сборс ключа, сколько всего записей и тд) |
|
|
sc2r2bey
|
Сообщение
#9
|
|
ааа опять классы
-------------------- программирую web и для we |
|
|
gaaarfild |
17.11.2009, 16:29;
Ответить: gaaarfild
Сообщение
#10
|
|
Да мне кажется, меньше кода не получится. И так уже все до минимума сокращено же. Не особо длинно получается.
2ZiToss Я понял, что сказал. =) Пишешь на MySQL, переводит в PostgreSQL, или Oracle, или еще что там есть. Я так понял поначалу. |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
ВНИМАНИЕ: OnClickA - надежная рекламная сеть для вебмастеров и рекламодателей 🔥 Монетизируй любой трафик 🔥 Выкупим весь твой трафик. Повышенные выплаты для топовых паблишеров |
6 | OnClickA | 1936 | Вчера, 17:15 автор: OnClickA |
|
✅ sms.chekons.com - ⭐ Сервис для получения SMS на реальные номера USA "Non-VoIP, безлим SMS, API" ⭐ Сервис для получения SMS на реальные номера USA |
9 | Chekon | 3365 | Вчера, 13:24 автор: Chekon |
|
AviTool - мощный инструмент для автоматизации работы с Avito | 90 | Shadow | 76510 | 15.3.2024, 22:07 автор: Shadow |
|
Получение гос. гранта для IT сферы | 2 | metvekot | 932 | 15.3.2024, 11:08 автор: Skyworker |
|
Имитация работы залог успеха? | 15 | metvekot | 1119 | 15.3.2024, 10:37 автор: Skyworker |
Текстовая версия | Сейчас: 19.3.2024, 6:46 |