Работа с базой данных MySQL (class DB_Engine)
Иногда для упрощения работы программиста требуется использовать всякого рода фреймворки, классы, шаблоны. Сегодня я расскажу в кратце с примером кода, о том, как работать с базой данных. много теории давать не буду, сразу пример.
Подключение класса:
/** Класс базы данных */ $DB= new DB_Engine('mysql', $_CONFIG['DBHOST'], $_CONFIG['DBUSER'], $_CONFIG['DBPASS'], $_CONFIG['DBNAME']);
Получение всех данных таблицы в массив:
$all = $DB->getAll('SELECT * FROM table WHERE условие'); foreach($all as $num => $item) { print_R($item); }
после выполнения запроса, результатом возврщается массив $all где ключем является номер записи, а значением — массив значений строки таблицы, которая является результатом выполнения запроса. Раньше бы мы сделали так:
$result = mysql_query('SELECT * FROM table WHERE условие'); $num=0; while($data = mysql_fetch_array($result)) { $num++; print_r($data); }
Получение одного значение нужной нам ячейки таблицы:
echo $DB->getOne('SELECT title FROM table WHERE id="1');
Выведет на экран название записи с номером 1
Получение одной строки таблицы:
$item = $DB->getRow('SELECT id, title, email FROM table WHERE id=10'); echo $item['id']; echo $item['title']; echo $item['email'];
Возвращает массив полученных параметров таблицы.
Получение колонки результатов:
$items = $DB->getCol('SELECT title FROM table WHERE id=10'); print_r(items);
Смесь вывод всех и единичного значения из таблицы как массива.
Выполение запроса (DELETE, INSERT, ...)
$DB->execute('DELETE FROM table WHERE id="111"');
Просто выполняет запрос, который не возвращает результат.
А вот и сам класс для работы с базой данных скачать тут: db_engine_class.
важная информация
респект... опупенная статейка
жесть... зачетно...
Не понял! А где брать этот класс DB_Engine? Кто скажет?
Эфиоп самая последняя ссылка в статье
gphp.ru/wp-content/uploads/2009/02/dbphp.txt
У меня все время, при каждом примере использования выдает эту ошибку: Call to undefined function: lastfileline()in ...\db_engine_class.php on line 334. B воообще на той строчке где вызывается LastFileLine(1).
Что делать, подскажите пожалуйста.
Buzzer убери вызов функции lastfileline в классе, лобо создай пустую функцию
function lastfileline() {return;}
Спасибо, пригодится для изучения!