Подключение к базе данных в объектно-ориентированном PHP - PullRequest
1 голос
/ 08 февраля 2010

Как я могу создать класс в oo php, в котором этот класс будет управлять соединением с БД?

Примеры кодов или сайтов подойдут. Кстати, я использую MySQL Command Client.

Основная проблема: Как я могу подключиться к БД, чтобы я мог вставлять новые записи, извлекать записи, обновлять записи?

Спасибо!

Ответы [ 5 ]

2 голосов
/ 08 февраля 2010

Вы ищете MySQLi . Это встроенное расширение начиная с PHP 5, которое вы можете использовать для запроса данных в базе данных MySQL.

$mysql = new MySQLi('localhost', 'username', 'password', 'database')
$mysql->query("SELECT * FROM users");
1 голос
/ 29 ноября 2010

Расширение PHP PDO (PHP Data Objects) - моя рекомендация. Он имеет много преимуществ, включая возможность доступа к нескольким типам баз данных, включая MySQL, SQLite и PostgreSQL, с одной и той же кодовой базой Я использую его вместе с легким классом базы данных, который расширяет PDO. Вы можете найти этот проект с открытым исходным кодом на Google Project Hosting по адресу http://code.google.com/p/php-pdo-wrapper-class.

1 голос
/ 08 февраля 2010

Если вы создаете приложение с нуля, я бы рекомендовал использовать пакет фреймворка PHP MVC, такой как CakePHP или CodeIgniter. Они оба включают уровень абстракции базы данных, который нормализует стандартную функциональность базы данных и удерживает вас от необходимости писать операторы SQL. Прелесть этого в том, что он также позволяет вам позже изменить свой тип БД с MySQL, скажем PostgreSQL, с простым изменением конфигурации.

Если вы не можете использовать MVC, проверьте ADODB, который является отдельным классом абстракции базы данных:

http://adodb.sourceforge.net/

0 голосов
/ 08 февраля 2010

Adodb, упомянутый wmpjmurray, является хорошим выбором. Вы также можете просто создать свой собственный класс, который расширяет PDO . Есть несколько примеров того, как другие люди сделали это в руководстве по PHP.

0 голосов
/ 08 февраля 2010

Почему бы вам не использовать mysql wrapper . Он имеет функции добавления / обновления / удаления, а также множество других функций, позволяющих сократить время разработки примерно на 40%. Конечно, это полностью объектно-ориентированное решение.

...