Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PDO, работа с MySQL, PDO 
:(
    Опции темы
BuShaRt
Дата 2.1.2007, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



Пре программирование у меня постоянно возникает навящивое чувство, что я что то делаю не так и можно сделать все гораздо проще и продуктвивней, от этого чувства я не могу не куда деться и постоянно задавшись идеей читаю лит-ру и перепсываю свой код...

Вот сегодня что то меня утомил мой простенький класс работы с MySQl, который умеет лишь подключаться к БД в конструкторе, экранировать запросы и все не считая кучи методов, которые по сути представляют собой точные запросы....

И тут я вспомнил как учительница по Удаленным Базам данных, рассказывала, что в VB есть технология ADO.net. 
Суть этой технологии в том, что все содержимое БД заноситься а массивы и мы работаем с ними, пре желание обновляя БД из массивов.

Вот думаю, может стоит заняться написанием столь продвинутого класса на PHP или может даже у кого есть наработки. 

Рад услышать все мнения по этому поводу;)
PM MAIL   Вверх
Render
Дата 2.1.2007, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



PM   Вверх
Eugene_Bond
Дата 2.1.2007, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: 1
Всего: 4



AdoDB достаточно продвинутый функционально и добротно кеширует результаты запросов.
Конечно монстроподобен (как Смарти), но есть и "легкая" версия.
PM MAIL   Вверх
bomber2
Дата 15.1.2007, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Можеш класс показать, плиззз....
PM MAIL   Вверх
Gold Dragon
  Дата 16.1.2007, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



Народ, подскажите где можно найти более-менее хорошее описание на русском(!) и если можно с примерами.

И встречные вопросы... Где скачать библиотеку и как мне это всё поставить на свой сервер?
А скачал какую-то библиотеку, но так и не подключил.. похоже DLL битая. На ru.php.net так и не понял где скачивать (ну не силён я в иностранном), там одна ссылка уводит на другую и так бессконечно  smile 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 16.1.2007, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

Репутация: 8
Всего: 261



Описания на русском - нет и не будет в ближайшем будущем, к сожалению.

Подключение очень простое. Такое же как и для остальных библиотек.
Скачивать надо общий PECL архив для соответствующей версии PHP: http://www.php.net/downloads.php
Все что там в архиве будет кидаем в php_dir/ext, в php.ini раскомментируем все, что надо.
http://ru2.php.net/manual/ru/ref.pdo.php
PM ICQ   Вверх
Gold Dragon
Дата 16.1.2007, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



ладно, фиг с ним с описанием на русском... буду переводить. (напомните ссылку на инглишь).

А примеры хоть не большие можно привести (основные функции). Ну чтоб понять с чего начинать.

Добавлено @ 16:54 
Цитата(Gold Dragon @  16.1.2007,  16:52 Найти цитируемый пост)
(напомните ссылку на инглишь)
 виноват smile



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 16.1.2007, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

Репутация: 8
Всего: 261



Код
    try 
    {
        $PDO = new PDO( DB_DRIVER . ":dbname=" . DB_NAME . ";host=" . DB_HOST , DB_USER , DB_PASS );
      $PDO->setAttribute( PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION );
      
      $PDO->exec( "SET NAMES UTF8" );

/* Где-то внутри */
//  Надо для очистки буфера
            $dbh = null;
// свой метод обработки, передаем имя запроса и массив параметров
            $dbh = $this->kerPDO( "sqlModulCheckUserEdit" , array( ":user_nick" => $user['user_nick'] , ":user_email" => $user['user_email'] , ":user_id" => $user['user_id'] ) );
// Проверяем запрос на нулевой результат
            if( sizeof( $dbh->fetchAll( PDO::FETCH_ASSOC ) ) != 0 )
            {
                $this->kerMwSetError( $this->LNG['error_users_user_exists'] );
                return;
            }

        public function kerPDO( $query , $params = array() )
        {    
            $link = null;

/* тут просто проверяем наличие запроса, который идет как метод

        public function sqlModulCheckUserEdit()
        {
            return <<<SQL
            SELECT *
            FROM `us_users`
            WHERE ( BINARY `user_nick` = :user_nick OR `user_email` = :user_email ) AND `user_id` <> :user_id
            LIMIT 1
SQL;
        }
*/
            if( ! method_exists( $this , $query ) )
            {    
                if( ! method_exists( $this->ModulLink , $query ) )
                {    throw new PDOException( "Unknown query: " . $query );    }
                else    
                {    $link = $this->ModulLink;    }
            }
            else 
            {    $link = $this;    }
            
            //print_r($params);
// Подготавливаем запрос, делая экранирование :var заменяется на параметры массива.
            $dbh = $this->PDO->prepare( call_user_func( array( $link , $query ) ) );
// выполняем запрос
            $dbh->execute( $params );
// возвращаем ресурс
            return $dbh;
        }


               
    }
    catch ( PDOException $e )
    {
        exit( "DataBase failed. Error: " . $e->getMessage() . "<br/>Code: " . $e->getCode() . "<br/>Line: " . $e->getLine() . "<br/> File: " . $e->getFile() );
    }


PM ICQ   Вверх
kat_ru
Дата 18.1.2007, 03:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Другого не будет



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

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



может глупые вопросы, но мне интересно... smile
какая разница между: PDO || PEAR?
  а то как то издали напоминает на PEAR
соответственно что лучше юзать, ведь PEAR тоже в станд конф. php 5.
PM MAIL   Вверх
SamDark
Дата 18.1.2007, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


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

Репутация: 0
Всего: 38



kat_ru, 
Тогда ещё можно повыбирать из PEAR:smileB, PDO, ADODB. Я пока склоняюсь к последней... удобно.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
Gold Dragon
Дата 18.1.2007, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



SamDark, слово "удобно" - это конечно здорово smile Но раз уж взялся, то напиши несколько плюсов и минусов того и другого


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
BobiKK
Дата 18.1.2007, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

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



Цитата(kat_ru @  18.1.2007,  03:37 Найти цитируемый пост)
какая разница между: PDO || PEAR?

PDO - это PECL-расширение, написанное на чистои C, следовательно, оно будет в разы быстрее PEAR аналогов
PM MAIL   Вверх
SamDark
Дата 18.1.2007, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


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

Репутация: 0
Всего: 38



Gold Dragon, 
Плюсы ADODB:
- Переносимость приложения на кучу СУБД без каких-либо проблем.
- Единый интерфейс для всех СУБД.
- Возможность одновременного использования нескольких БД и СУБД.
- ORM.
- Итератор для Result Set (PHP5)


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
Mal Hack
Дата 18.1.2007, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

Репутация: 8
Всего: 261



Цитата(kat_ru @  18.1.2007,  03:37 Найти цитируемый пост)
какая разница между: PDO || PEAR?

Это координально разные понятия. PDO - библиотека самого PHP, PEAR с его разновидностями интерфейсов доступа к базам данных - пользовательская библиотека, которая само собой, будет кушать больше ресурсов.


PM ICQ   Вверх
Gold Dragon
Дата 18.1.2007, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



Что такое ORM?

Ну я так понимаю, плюсы только в совместимости.. 

Мне пока это не нужно, у меня тупо PHP+MySQL. да и в планах пока ничего токого нет


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
SamDark
Дата 19.1.2007, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


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

Репутация: 0
Всего: 38



Gold Dragon, 
ORM - Object-Relational Mapping. Страничка в wikipedia.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
AztEK
Дата 23.1.2007, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Мне кажется, здесь можно обойтись паттерном Singleton.


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
madFobos
Дата 27.1.2007, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(SamDark @  18.1.2007,  15:14 Найти цитируемый пост)
Переносимость приложения на кучу СУБД без каких-либо проблем.


Ну по поводу этого все очень спорно. У каждой СУБД свои особенности и не факт, что они будут у другой СУБД. Например, смысл использовать Oracle, не используя PL/SQL, которого у MySQL уже нет. Так что переносимость никогда не была для меня решающим фактором.

По поводу Pear:smileB, скажу лишь что он более функционален, чем PDO. Но, что меделеннее - это да. Хотя вряд ли это будет заметно при современных серверах.
PM MAIL   Вверх
IZ@TOP
Дата 2.2.2007, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



По моему, подобных классов писано-переписано тоннами крылатого, давно забытого кода. Каждый хотя бы раз, да написал свой драйвер для работы с БД в РНР. 
Я сам предпочитаю использовать встроенный в РНР PDO - быстрей, все необходимые фичи в нем имеются, хотя он и далек от совершенства, думается что его доведут до лирического удобства и доработанной функциональности.


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

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


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

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



Насколько я понимаю PDO работает только с PHP 5, да? Я что-то не могу найти версию для четверки.

Добавлено @ 16:18 
гхм, написал вопрос, и тут же увидел ответ в соседней теме.
Значит только для PHP 5 smile
PM MAIL ICQ   Вверх
Opik
Дата 8.2.2007, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Я так же согласен с IZ@TOP, при появлении PDO смысл в велосипедах пропал, если Вы только не сидите на 4-ке.
PM MAIL Skype   Вверх
Opik
Дата 8.2.2007, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Gold Dragon, 
Последние версии можно брать тут: http://snaps.php.net
И коль работаешь программистом, грех не знать английского, хотя бы на уровне чтения технической документации.
PM MAIL Skype   Вверх
Gold Dragon
Дата 9.2.2007, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71




//offtop
Цитата(Opik @  8.2.2007,  12:31 Найти цитируемый пост)
И коль работаешь программистом, грех не знать английского, хотя бы на уровне чтения технической документации.
ну так я и не работаю программистом, это так, хобби  smile А инглиш я знаю, просто люблю на русском доки читать.



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
SamDark
Дата 9.2.2007, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


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

Репутация: 0
Всего: 38



В последннее время забросил ADODB и пристрастился к Котеровской DbSimple.

Плюсы:
Легковесная
Безопасная
Расширяемая
Поддерживает все возможности базы, с которой работает

http://dklab.ru/lib/DbSimple/


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




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


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

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