Я работаю на небольшом веб-сайте PHP. Мне нужен класс доступа к базе данных MySql, с которым легко настроить и работать.
Не нужно быть полной структурой, мне нужен только макс. несколько классов.
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");
PDO отлично работает для меня, даже если это не полностью взорванная библиотека, такая как PEAR :: MDB2.
PDO является скомпилированным расширением PHP5, поэтому есть небольшое преимущество в производительности.
Если вы довольны тем, что это MySql, MySqli является выбором по умолчанию.
Я думаю, PEAR :: MDB2 – это то, что вы ищете.
Если у вас нет конкретных потребностей, я бы порекомендовал вам взглянуть на PDO , который связан с PHP> = 5.1.
Он полностью объектно-ориентированный, облегчает совместимость между БД-системами; и это интеграция в PHP, поскольку расширение C делает его, вероятно, немного быстрее, чем эквиваленты, разработанные в PHP.
Вы также можете взглянуть на расширение mysqli , которое обеспечивает как функционально-ориентированный, так и объектно-ориентированный интерфейс.
Но я бы предпочел пойти в PDO, я думаю …
И теперь, когда вы тратите (инвестируя ;-)) некоторое время на поиск новых вещей, вы можете взглянуть на подготовленные заявления: они поддерживаются как mysqli, так и PDO , и подходят для (помимо прочего) соображений безопасности ( не нужно беспокоиться о том, чтобы избежать данных, чтобы предотвратить инъекции SQL)
Если бы вы сказали, что вам нужно полное решение ORM, я бы указал вам на Doctrine , что на самом деле является отличной структурой ORM; но это, вероятно, слишком много для ваших нужд …
Вы можете попробовать Zend_Db из Zend Framework . Позже вы можете включить компоненты режима из ZF.
Я использовал это время от времени, это очень хорошо! (И имеет потрясающую функцию автозапуска), она легко настраивается и довольно маленькая, но у нее было все, что мне нужно. Возможно, вы относительно легко расширяете его, чтобы поддерживать кеширование или все, что вам нужно.
Удачи найти то, что вам подходит. 🙂
Также PDB digg, который является простой оболочкой PDO или что-то можно загрузить с http://code.google.com/p/digg/wiki/PDB
Самый простой и легкий класс db
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 для расширения PHP PDO (PHP Data Objects). Я использую его вместе с действительно удобным классом базы данных, который расширяет PDO. Вы можете найти этот проект с открытым исходным кодом в Project Project Hosting Google по адресу http://code.google.com/p/php-pdo-wrapper-class .
Я рекомендую использовать PHP-MySQLi-Database-Class , который использует MySQLi и подготовленные операторы (это означает, что вы будете защищены от SQL-инъекции). Класс хорошо документирован.