Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Класс для работы с базой, Обсуждаем, делаем... 
V
    Опции темы
Vaulter
Дата 21.7.2006, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: нет
Всего: 22



Sardar, а хз!
а если нету?
adodb - жуткая штука
PEAR:DB - посмотрим...
PDO - иногда и нету. 


--------------------
PM MAIL WWW ICQ   Вверх
Wowa
Дата 2.9.2006, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Итак, я склоняюсь к PDO. Opik, твое мнение относительно PDO не поменялось?
PM WWW   Вверх
Opik
Дата 2.9.2006, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



Wowa
нет, полностью его поддерживаю и пропагандирую smile
PM MAIL Skype   Вверх
Wowa
Дата 2.9.2006, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Opik, значит решили. Используем PDO.
PM WWW   Вверх
IZ@TOP
Дата 5.9.2006, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



Wowa, будем писать тулзы для удобного формирования SQL запросов? Типа строитель множественных вставок, апдейтов и удаления?


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Opik
Дата 5.9.2006, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



IZ@TOP
Мне кажется это лишнее.
PM MAIL Skype   Вверх
Wowa
Дата 5.9.2006, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(IZ@TOP @  5.9.2006,  13:16 Найти цитируемый пост)
Wowa, будем писать тулзы для удобного формирования SQL запросов? Типа строитель множественных вставок, апдейтов и удаления? 


Хм.. Имхо от случая зависит, когда-то это удобно, когда-то нет. Если вставка осуществляется из разных мест программы, то конечно лучше в отдельный метод ее вынести. И передавать данные в ввида массива.

А принимать так:

Код

function test($data=array()) {

$sql="INSERT INTO table (test, test2) VALUES ('{$data['test']}', '{$data['test']}')";
$dbh->query($sql); // Ну, это через PDO сделаем

}

PM WWW   Вверх
Opik
Дата 5.9.2006, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



Wowa
Такой отрывок кода специфичен для определенных модулей и выносить такое в драйвер я считаю лишним.
PM MAIL Skype   Вверх
Wowa
Дата 5.9.2006, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(Opik @  5.9.2006,  17:38 Найти цитируемый пост)
Такой отрывок кода специфичен для определенных модулей и выносить такое в драйвер я считаю лишним. 

конечно. В драйвер это выносить не стоит.
PM WWW   Вверх
IZ@TOP
Дата 6.9.2006, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



Ребята! Вы меня по моему не совсем правильно поняли! 
Допустим, мы имеем массив из формы:

Код

$_POST['user'] = array(
    'user_first_name' => 'Arthur',
    'user_last_name' => 'Bier',
    'user_mail' => 'izatop <at> mail [dot] ru',
);


Нам нужно внести эту запись в базу. Как же мы поступим? Напишем код вручную:

Код

$sql = "INSERT user_table INTO (`user_first_name`, `user_last_name`, `user_mail`) 
VALUES(?,?,?)";
$dbh->bindParam($_...);
$dbh->bindParam($_...);
$dbh->bindParam($_...);
...


Или же исполним один простой метод - конструктор SQL запросов:

Код

$sql = WebDbMySqlUtil::sqlMakeInsert('user_table', $_POST, 'primary_field');
$dbh->query($sql);

И это в простейшем случае. Может ведь статься что вставок или апдейтов за раз нужно сделать множество для одной табоицы. И будем дублировать много кода, прогоняя в цикле к примеру составление SQL'я? А можно ведь обойтись вызовом всего одного метода!


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Wowa
Дата 6.9.2006, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



IZ@TOP, мне кажется. что довольно редко надо производить вставку того, что пришло без изменений.. или же без какого-то доп. поля.
PM WWW   Вверх
Opik
Дата 6.9.2006, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



IZ@TOP
Это как раз в тему о MVC.

Но на примере твоего кода, твой "идеал":
Код

$sql = WebDbMySqlUtil::sqlMakeInsert('user_table', $_POST, 'primary_field');
$dbh->query($sql);

вместо:
Код

$sth = $dbh>prepare("INSERT user_table INTO (`user_first_name`, `user_last_name`, `user_mail`) VALUES(?,?,?)");
$sth->execute($_POST['user']);


Как видишь, никакого 
Цитата

много кода

здесь нет, другое дело если меняется структура и её нужно везде менять, это да, но для этого я и предложил MVC паттерн.


Это сообщение отредактировал(а) Opik - 6.9.2006, 11:08
PM MAIL Skype   Вверх
IZ@TOP
Дата 6.9.2006, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



Цитата(Wowa @  6.9.2006,  11:44 Найти цитируемый пост)
IZ@TOP, мне кажется. что довольно редко надо производить вставку того, что пришло без изменений.. или же без какого-то доп. поля. 

В смысле? А как на счет конструктора условий? Я думаю что это очень полезная вещь.
Ладно, я то в либы добавлю, а там уж кому как, а я буду использовать)

Добавлено @ 12:07 
Opik, Не забывай, намного быстрее сделать множественную вставку, нежели делать их 30 раз подряд. В любом случае, мне кажется что несколько удобнее, и я бы еще даже добавил: сокращает время на отладку SQL запросов, так как конструктор не способен забыть вставить скобку, кавычку или запятую.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Wowa
Дата 6.9.2006, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(IZ@TOP @  6.9.2006,  11:04 Найти цитируемый пост)
Opik, Не забывай, намного быстрее сделать множественную вставку, нежели делать их 30 раз подряд.

имхо очень редко множественные ставки нам нужны будут.
PM WWW   Вверх
Opik
Дата 6.9.2006, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



IZ@TOP
Цитата(IZ@TOP @  6.9.2006,  11:04 Найти цитируемый пост)
Opik, Не забывай, намного быстрее сделать множественную вставку, нежели делать их 30 раз подряд

Ммм, поясни?
PM MAIL Skype   Вверх
Страницы: (6) Все « Первая ... 2 3 [4] 5 6 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Vingrad CMS | Следующая тема »


 




[ Время генерации скрипта: 0.1368 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.