ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Базы данных


10-03-2015

PHP поддерживает работу с различными базами данных. При этом реляционные базы данных типа Open Source так же хорошо представлены, как и коммерческие продукты. Если встроенная поддержка базы данных отсутствует, можно использовать ODBC с со­ответствующим драйвером. В главе 23, "Интеграция баз данных", обсуждаются стратегии использования баз данных на Web-узлах, работающих под управлением PHP.
Большинство функций из этого раздела опирается на дополнительные модули, которые могут быть загружены в конфигурационном файле php.ini или с помощью функции dl, но в большинстве случаев были скомпилированы при компиляции PHP.
Несмотря на то что в этой главе описываются функции PHP, работающие с различными СУБД, в ней не описаны все тонкости, присущие каждой из используемых СУБД. Перед ней также не ставилась задача стать обучающим материалом по языку SQL. Если вы уже выбрали определенную базу данных для дальнейшей интеграции с PHP, то должны были заранее побольше узнать о ней. Автор, например, является большим поклонником MySQL, и в 2001 году написал книгу, которая была издана Издательским домом "Вильямс" MySQL. Библиотека профессионала.
17.1. Общие моменты работы с базами данных типа DBM
В данном разделе кратко описываются DBA-функции, работающие с базами данных, удовлетворяющими стандарту СУБД типа Berkeley DB. Вместо сохранения реляционных записей базы данных типа DBM сохраняют пары ключ-значение, что соответствует ассоциативному массиву.
Функции, описанные в этом разделе, замещают набор функций, позволяющих работать с одним типом DBM-базы данных. Эти новые функции позволяют выбирать систему из PHP-кода, а не компилировать PHP только для одной базы данных DBM-типа.
Тип базы данных выбирается при установлении соединения, и остальные функции работают уже исходя из этого. Эти функции добавил Саша Шуман.
dba_close(resource connection)
Функция dba_close закрывает соединение с базой данных. Аргумент connection является целым числом, возвращенным функцией dba_open или dba_popen. Если вы не закрыли соединение с СУБД, за вас это сделает PHP. 
boolean dba_delete(string key, resource connection)
Функция dba_delete (листинг 17.1) удаляет запись из базы данных. При этом необходимо указать ключ и активное подключение к базе данных, которое можно получить с помощью функции dba_open или dba_popen. Результат операции удаления возвращается в виде логического значения.

| Листинг 17.1. Программирование интерфейса с базой данных типа DBM_
<?php
// открыть базу данных в режиме записи
if(($db = dba_popen('inventory', 'w', 'gdbm')) === FALSE) {
print('базу данных открыть нельзя!'),-exit();
}
if(dba_exists('3', $db))
{
//если код 3 существует, задать для него значение, равное 150
dba_replace('3', 450', $db);
print("Заменили значение для кода 3<br>");
}
else
{
//кода 3 не существует, добавить его
dba_insert('3', 450', $db);
print("Добавили значение для кода 3<br>");
}
if(dba_exists('4', $db))
{
//удалить запись для кода 4
dba_delete('4', $db);
print("Удален код 4<br>");
}
Else
{
dba_insert('4', '500', $db);
print(" Добавлена запись для кода 4<br>");
}
// синхронизировать базу данных
dba_sync($db);
// получить все записи
for($key = dba_firstkey($db);
$key !== FALSE;
$key = dba_nextkey($db))
{
print("$key = " . dba_fetch($key, $db) . "<br>");
}
// close database dba_close($db);
?> 
boolean dba_exists(string key, resource connection)
Функция dba_exists проверяет существование ключа. Аргументом connection представляется целое число, возвращенное функцией dba_open или dba_popen. Пример использования функции dba_exists см. в описании функции dba_delete.
string dba_fetch(string key, resource connection)
string dba_fetch(string key, integer skip, resource connection)
Функция dba_fetch предназначена для выборки записи по ее ключу. Вторую форму этой функции, включающую необязательный аргумент skip, поддерживают только базы данных CDB. Этот аргумент предназначен для задания количества пропускаемых повторяющихся записей. Аргумент connection задает переменную типа resource, возвращаемую функцией dba_open или dba_popen.

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Обработка изображений и графики. Часть Шестнадцатая. PHP. Базы данных. Часть Вторая.