Модераторы: 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   Вверх
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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