Ищем простой пример класса MySQLi с описаниями - PullRequest
3 голосов
/ 17 июля 2009

Я ищу пример простого, но функционального примера класса, расширяющего класс mySQLi в PHP5. Я также заинтересован в хранимых процедурах. По сути, мне нужен пример практического и полезного занятия. Я учусь лучше всего на примере, и, к сожалению, я не смог найти ни одного сайта или книги, который, кажется, имеет действительно солидный, но простой пример. Все примеры, которые я вижу, являются сложными, поэтому я не могу понять, или они настолько просты, что я мог бы просто создать экземпляр класса прямо там и сейчас. Было бы замечательно, если бы кто-нибудь мог привести мне пример, подобный этому, и объяснить, что происходит, как можно лучше. Моя долгосрочная цель - создать класс, который я смогу создать, который будет заниматься аутентификацией базы данных, а затем будет принимать мои операторы SQL и предоставлять выходные данные в переменных.

Если кто-то захочет найти время, чтобы выручить меня, это будет очень цениться! Спасибо

Ответы [ 5 ]

1 голос
/ 28 октября 2010

попробуйте DALMP: http://code.google.com/p/dalmp/ - поддержка подготовленных операторов и множества бэкэндов кэша

1 голос
/ 18 июля 2009

О MySQL, вы можете посмотреть на эти статьи:

(Довольно старый, но расширение mysqli не сильно изменилось за пару лет, так что все должно быть в порядке)

Вы также можете взглянуть на PDO , включенный в PHP начиная с версии 5.1; это объектно-ориентированный API для доступа к нескольким механизмам БД (вы не используете mysqli_query, pg_query, oci8_query или тому подобное; только $ pdo-> query - хорошо, ваш SQL должен быть совместимым, но это другая проблема; - ()

Другим подходом будет использование ORM, например, Doctrine .

Это не класс, расширяющий MySQLi, а полноценный Framework для абстрагирования механизма БД - при этом вы пишете схему, описывающую структуру вашей БД, а затем используете язык «псевдо-SQL» для отправки запросов; или просто (в большинстве случаев) объектно-ориентированный API, который абстрагирует SQL.

Поначалу его немного сложно использовать, но он действительно мощный и полезный (и, думаю, не плохой для производительности для многих проектов)

1 голос
/ 17 июля 2009

Вы проверяли PHP PEAR MDB2? http://pear.php.net/package/MDB2

Это не так просто, это лучший DAL в PHP IMHO ...

0 голосов
/ 21 июля 2009

Вот простой пример добавления встроенного времени запроса к классу mysqli.

Предполагается, что вы определили класс «MyTimer», реализующий интерфейс iTimer. Класс iTimer в своей простейшей форме записывает время начала и окончания для указанного ключа $ (используя microtime () или getrusage () или что-то еще).

<?php
interface iTimer
{
    public function start($key);
    public function stop($key);
}

class mysqlp extends mysqli
{
    function query($query, $resultmode)
    {
        $timer = MyTimer::getInstance();
        $timer->start('mysqli::query');
        $result = parent::query($query, $resultmode);
        $timer->stop('mysqli::query');
        return $result;
    }
}

#usage
$mysqli = new mysqlp("localhost", "my_user", "my_password", "world");
$results = $mysqli->query("SELECT id FROM foo");
0 голосов
/ 21 июля 2009

Немного не по теме, но почему MySQLi? PDO намного лучше и считается стандартом де-факто PHP в наши дни. Год или два назад я написал простое занятие по PDO, я могу дать вам ссылку, если интересно.

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