Я работаю на небольшом веб-сайте PHP. Мне нужен класс доступа к базе данных MySql, с которым легко настроить и работать.Полезный класс базы данных PHP
Не нужно быть полным каркасом, мне нужен только макс. несколько классов.
Я работаю на небольшом веб-сайте PHP. Мне нужен класс доступа к базе данных MySql, с которым легко настроить и работать.Полезный класс базы данных PHP
Не нужно быть полным каркасом, мне нужен только макс. несколько классов.
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");
Я нашел ADODb самым легким в настройке. – Germstorm
Привет, мистер Диксон, Но эта библиотека нуждается в хорошей документации. Знаете ли вы о любом веб-ресурсе, где я могу найти справку. Я попытался создать класс для задач, связанных с базой данных, используя эту библиотеку, но не смог сделать это хорошо. –
Я нашел документацию в порядке (см. Http://phplens.com/lens/adodb/docs-adodb.htm) –
Я думаю, что PEAR::MDB2 - это то, что вы ищете.
PDO работает отлично подходит для меня, даже то, что это не полностью взорван библиотека как PEAR :: MDB2.
PDO - это скомпилированное расширение PHP5, поэтому есть небольшое преимущество в производительности.
В моем следующем проекте я также рассмотрю эту библиотеку. – Germstorm
Если вы довольны тем, что являетесь MySql специфическим, MySqli является выбором по умолчанию.
Вы можете попробовать Zend_Db от Zend Framework. Позже вы можете включить компоненты режима из ZF.
Если у вас нет конкретных требований, я бы порекомендовал вам взглянуть на PDO, который поставляется вместе с PHP> = 5.1.
Он полностью объектно-ориентированный, облегчает совместимость между БД-системами; и это интеграция в PHP, поскольку расширение C делает его, вероятно, немного быстрее, чем эквиваленты, разработанные в PHP.
Вы также можете ознакомиться с расширением mysqli, которое обеспечивает как функционально-ориентированный, так и объектно-ориентированный интерфейс.
Но я предпочел бы пойти в PDO, я думаю ...
И теперь, когда вы тратите (инвестирование ;-)) некоторое время на поиски нового материала, вы могли бы взглянуть на подготовленных заявлений : они поддерживаются как mysqli и PDO, и хороши для (среди прочего) соображений безопасности (нет необходимости беспокоиться о побеге данных, чтобы предотвратить инъекции SQL)
Если бы вы сказали, что вы нуждаетесь в полном ORM решение, я бы указал вам на Doctrine, что на самом деле отличная структура ORM; но это, вероятно, слишком много для ваших нужд ...
PDO не способствует совместимости между РСУБД. В нем отсутствуют конструкции, чтобы скрыть различия между такими вещами, как то, как datetimes обрабатываются по-разному во всех RDBMS. PDO по-прежнему является хорошим выбором для доступа к любой из РСУБД. Но это неполно, если необходима поддержка кросс-RDBMS. – jmucchiello
Я использовал this время от времени, это очень хорошо! (И имеет потрясающую функцию автозапуска), она легко настраивается и довольно маленькая, но у нее было все, что мне нужно. Возможно, вы относительно легко расширяете его, чтобы поддерживать кеширование или все, что вам нужно.
Удачи в поиске того, что вам больше подходит.:)
Также DIGG-х PDB, которая является простой PDO обертка или что-то можно загрузить с http://code.google.com/p/digg/wiki/PDB
Самый простой и легкий класс дб
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;
?>
Ух, я проверю это и надеюсь, что это сработает. Это выглядит очень хорошо. – Germstorm
+1 для РНР PDO (объекты данных PHP). Я использую его вместе с действительно удобным классом базы данных, который расширяет PDO. Вы можете найти этот проект с открытым исходным кодом в Google Project Hosting по адресу http://code.google.com/p/php-pdo-wrapper-class.
Я рекомендую использовать PHP-MySQLi-Database-Class, в котором используются MySQLi и подготовленные операторы (это означает, что вы будете защищены от SQL-инъекции). Класс хорошо документирован.
Из Zend Framework вы можете просто взять то, что хотите. Даже только Zend_Db! И, конечно же, есть адаптер mysql pdo. – markus