2009-08-02 5 views
8

Я работаю на небольшом веб-сайте PHP. Мне нужен класс доступа к базе данных MySql, с которым легко настроить и работать.Полезный класс базы данных PHP

Не нужно быть полным каркасом, мне нужен только макс. несколько классов.

+1

Из Zend Framework вы можете просто взять то, что хотите. Даже только Zend_Db! И, конечно же, есть адаптер mysql pdo. – markus

ответ

10

ADODb довольно прост в работе и стоит рассмотреть. Некоторые иллюстративные образцы:

//connect 
    $dsn = 'mysql://user:[email protected]/mydb'; 
    $db = ADONewConnection($dsn); 

    //get a single value  
    $value=$db->GetOne("select foo from bar where x=?", array($x)); 

    //get a row 
    $row=$db->GetRow("select * from bar where x=?", array($x)); 

    //easy insert example 
    $record=array("id"=>1, "foo"=>"bar"); 
    $db->AutoExecute("table", $record, "INSERT"); 
+0

Я нашел ADODb самым легким в настройке. – Germstorm

+1

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

+0

Я нашел документацию в порядке (см. Http://phplens.com/lens/adodb/docs-adodb.htm) –

14

PDO работает отлично подходит для меня, даже то, что это не полностью взорван библиотека как PEAR :: MDB2.

PDO - это скомпилированное расширение PHP5, поэтому есть небольшое преимущество в производительности.

+0

В моем следующем проекте я также рассмотрю эту библиотеку. – Germstorm

5

Если вы довольны тем, что являетесь MySql специфическим, MySqli является выбором по умолчанию.

4

Если у вас нет конкретных требований, я бы порекомендовал вам взглянуть на PDO, который поставляется вместе с PHP> = 5.1.

Он полностью объектно-ориентированный, облегчает совместимость между БД-системами; и это интеграция в PHP, поскольку расширение C делает его, вероятно, немного быстрее, чем эквиваленты, разработанные в PHP.

Вы также можете ознакомиться с расширением mysqli, которое обеспечивает как функционально-ориентированный, так и объектно-ориентированный интерфейс.
Но я предпочел бы пойти в PDO, я думаю ...


И теперь, когда вы тратите (инвестирование ;-)) некоторое время на поиски нового материала, вы могли бы взглянуть на подготовленных заявлений : они поддерживаются как mysqli и PDO, и хороши для (среди прочего) соображений безопасности (нет необходимости беспокоиться о побеге данных, чтобы предотвратить инъекции SQL)


Если бы вы сказали, что вы нуждаетесь в полном ORM решение, я бы указал вам на Doctrine, что на самом деле отличная структура ORM; но это, вероятно, слишком много для ваших нужд ...

+0

PDO не способствует совместимости между РСУБД. В нем отсутствуют конструкции, чтобы скрыть различия между такими вещами, как то, как datetimes обрабатываются по-разному во всех RDBMS. PDO по-прежнему является хорошим выбором для доступа к любой из РСУБД. Но это неполно, если необходима поддержка кросс-RDBMS. – jmucchiello

1

Я использовал this время от времени, это очень хорошо! (И имеет потрясающую функцию автозапуска), она легко настраивается и довольно маленькая, но у нее было все, что мне нужно. Возможно, вы относительно легко расширяете его, чтобы поддерживать кеширование или все, что вам нужно.

Удачи в поиске того, что вам больше подходит.:)

1

Самый простой и легкий класс дб

http://code.google.com/p/edb-php-class/

<?php 
    $result = $db->q("select * from `users`limit 3"); 

    foreach($result as $a){ 
      $a = (object) $a; 
      echo $a->id.' '.$a->name.' '.$a->url.' '.$a->img.'</br>'; 
    } 


    $result = $db->line("select * from `users` where id = '300' limit 1"); 
    echo $result['name']; 
    echo $result['surname']; 



    $name = $db->one("select name from `ilike_pics` where id = '300' limit 1"); 
    echo $name; 
    ?> 
+0

Ух, я проверю это и надеюсь, что это сработает. Это выглядит очень хорошо. – Germstorm

0

+1 для РНР PDO (объекты данных PHP). Я использую его вместе с действительно удобным классом базы данных, который расширяет PDO. Вы можете найти этот проект с открытым исходным кодом в Google Project Hosting по адресу http://code.google.com/p/php-pdo-wrapper-class.

0

Я рекомендую использовать PHP-MySQLi-Database-Class, в котором используются MySQLi и подготовленные операторы (это означает, что вы будете защищены от SQL-инъекции). Класс хорошо документирован.

Смежные вопросы