Полезный класс базы данных PHP - PullRequest
8 голосов
/ 02 августа 2009

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

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

Ответы [ 11 ]

14 голосов
/ 02 августа 2009

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

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

10 голосов
/ 02 августа 2009

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

  //connect
  $dsn = 'mysql://user:pwd@localhost/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");  
5 голосов
/ 02 августа 2009

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

4 голосов
/ 02 августа 2009

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

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

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


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


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

4 голосов
/ 02 августа 2009

Я думаю PEAR :: MDB2 - это то, что вы ищете.

1 голос
/ 15 ноября 2010

Самый простой и легкий класс БД -

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;
    ?>
1 голос
/ 02 августа 2009

Также PDG Digg, который является простой оболочкой PDO или что-то может быть загружено с http://code.google.com/p/digg/wiki/PDB

1 голос
/ 02 августа 2009

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

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

1 голос
/ 02 августа 2009

Вы можете попробовать Zend_Db из Zend Framework . Позже вы можете включить компоненты режима от ZF.

0 голосов
/ 06 марта 2014

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...