Информационные технологииStfw.Ru 🔍

mSQL

Взаимодействие с базами данных
🕛 01.11.2006, 13:56
Данная группа функций позволяет работать с серверами БД mSQL. Для того чтобы их можно было использовать, РНР нужно скомпилировать с параметром -with-msql[=dir], где можно указать каталог размещения mSQL (по умолчанию это /usr/local/Hughes).

Документацию но mSQL можно найти по адресу http://www.hughes. \ com.au/.

msql_connect

Подключение к серверу mSQL

int msql_connect ([string hostname [, string hostname[:port] [, string user-name [, string passworo>]

Возвращает дескриптор подключения к БД или FALSE - при ошибке.

Если не указывается имя хоста, то производится локальное подключение.

Если функция повторно вызывается с теми же аргументами, новое подключение не создается, а возвращается идентификатор уже имеющегося.

В конце сценария принято закрывать подключение функцией msql_ close(), но этого можно и не делать, поскольку РНР автоматически закрывает все (неустойчивые) подключения при завершении сценария.

См. также: msql_pconnect(), msql_close().

msql_pconnect

Создание устойчивого подключения к серверу mSQL

int msqlj>connect ([string hostname [, string hostname[:port] [, string username [, string password>)

Возвращает дескриптор подключения к БД или FALSE - при ошибке. msql_pconnect() действует подобно msql_connect() с двумя отличиями:

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

При завершении сценария подключение не закрывается, а остается действительным для дальнейшего использования. (Функция msql_ close() не может закрыть подключения, созданные с помощью msql_ pconnect().)

msql_close

Отключение от сервера mSQL int msq]_close (int link_identifier)

Возвращает TRUE или FALSE - при ошибке.

Идентификатор закрываемого подключения указывается в аргументе link_identifier; если его не указывать, то закрывается последнее открытое данным сценарием подключение.

Фактически использование данной функции не является обязательным, так как РНР автоматически закрывает все незакрытые неустойчивые подключения при завершении сценария.

Обратите внимание, что устойчивые подключения, созданные функцией msql_pconnect(), не закрываются.

См. также: msql_connect() и msql_pconnect().

msql_list_dbs

Получение списка БД на сервере mSQL

int msq"Mist_dbs(void);

Возвращает набор записей, содержащий список имеющихся БД на сервере. Используйте функцию msql_dbname(), чтобы получить элементы этого списка.

msql_dbname

Получение имени БД mSQL

string msql_dbname (int query_identifier. int i)

Функция используется для обработки набора записей query_identifier, возвращенного msqlJIistdbs(); в аргументе указывается номер записи. Возвращается имя БД или FALSE - при ошибке.

Число записей можно определить функцией msql_numrows().

msql_create_db

Создание БД mSQL

int msql_create_db (string database name [, int link_identifier])

Создает БД dbname, используя подключение link_identifier.

Функция имеет синоним msql_createdb().

См. также msql_drop_db().

msql_drop_db

Удаление БД mSQL

int msql_drop_db (string database_name, int link identifier)

Возвращает TRUE, если БД databasejiame успешно удалена, или FALSE при ошибке.

Функция имеет синоним msql_dropdb().

См. также msql_create_db().

msql_list_tables

Получение списка таблиц в БД

int msql_list_tables (string database)

Возвращает набор записей, содержащий список БД на сервере. Для извлечения отдельных записей используется функция msql_tablename().

msql_tablename

Получение имени таблицы

string msql_tablename (int query_identifier, int i)

Функция используется для получения имени таблицы (с номером ) из набора записей query_identifier, возвращенного функцией mysql_ Hst_tables().

<?php
msql_connect ("localhost")
$result = msql_list_tables ("myDB"):
$1 = 0.
while ($1 < msqljiumrovvs
($result)) {
$tb_names[$i] =
msql_tablename (Sresult. $i):
echo $tb_names[$i] .
"<BR>":1T++; } ?>

msql_select_db

Выбор БД mSQL

int msql_selectjjb (string database_name, int linkjdentifier) Возвращает TRUE или FALSE - при ошибке.

Делает БД с именем databasejiame активной для текущего подключения или указанного в linkjdentifier. Если подключений не имеется, то косвенно вызывается функция mysql_connect() с параметрами по умолчанию.

Последующие запросы, выполняемые функцией, будут адресованы данной БД.

Функция имеет синоним msql_selectdb().

См. также: msql_connect(), msql_pconnect() и msql_query().

msql_regcase

Создание регулярного выражения для поиска, нечувствительного к регистру

См. также: sql_regcase().

msql_query

Выполнение запроса к БД

int rasql_query (string query, [int linkjdentifier]).

Посылает запрос текущей БД, активной для текущего подключения или указанного в linkjdentifier. Если подключений не имеется, то косвенно вызывается функция msql_connect() с параметрами по умолчанию.

Если выражение содержит ошибки или при его выполнении возникают ошибки (например, если текущие привилегии не позволяют выполнить запрос), то функция возвращает FALSE. Если запрос успешно выполнился, то возвращается набор записей (не забывайте, Он также может содержать 0 записей), который может быть обработан функциями:

msql_result() - получить элемент набора записей:
msqljretch_array() - занести запись в массив;
msql _fetdn_ra* () - занести запись в нумерованный массив;
msql_fetch_object() - занести запись в объект.
Чтобы выяснить, сколько записей было возвращено командой SELECT,

используйте функцию msql_num_rows(); а чтобы выяснить, сколько описей было изменено в результате выполнения запросов DELETE, PLACE или UPDATE, используйте функцию msql_affected_rows().

После обработки результатов запроса он может быть удален функцией mysql_free_result().

См. также: rasq(), msql_select_db() и msql_connect().

msql

Выполнение запроса к указанной БД

int msql (string database, string query, int link_identifier)

Функция подобна msql_query() с тем отличием, что БД database, которой посылается запрос, здесь указывается явно.

msql_num_rows

Получение числа возвращенных записей

int msql_num_rows (int queryjidentifier)

Функция возвращает число записей, возвращенных запросом.

См. также: msql(), msql_query() и msql_fetch_row().

msql_affected_rows

Получение числа измененных записей в БД

int msql_affected_rows (int query_identifier)

Функция возвращает число записей, которых «коснулся» запрос (при выборке, удалении, обновлении).

См. также msql query().

msql_result

Получение элемента набора записей

int msql_result (int query_identifier, int row, mixed field)

Возвращает содержимое ячейки из набора записей query_identifier. В аргументе row указывается номер записи (нумерация начинается с 0), в аргументе field можно указать индекс поля (число), имя поля, полное имя поля (вида: «имя_таблицы.имя_поля») или псевдоним поля.

При работе с большими наборами записей быстрее выполняются функции типа _fetch_ (см. ниже). Также заметьте, что численные индексы обрабатываются быстрее строковых.

Не следует вызывать функцию msql_result() в сочетании с другими функциями обработки набора записей.

Рекомендуется использовать альтернативные функции: msql_fetch_ row(), msql_fetch_array() и msql_fetch_object().

msql_data_seek

Перемещение курсора набора записей

int msql_data_seek (int query_identifier. int rowjnumber)

При каждом вызове функции msql_fetch_row() (или подобной ей) внутренний курсор записи смещается на следующую запись. Данная функция позволяет свободно переметать курсор в наборе записей query_identifier так, чтобы он указывал на запись с номером row_ number (нумерация начинается с 0).

Функция возвращает TRUE пли FALSE - при ошибке.

См. также msql_fetch_row().

msql_fetch_array

Занесение записи в массив

int msql_fetch_array (int query_identifier [, int result_type])

Возвращает соответствующий текущей записи массив из набора записей query_identifier, возвращенных запросом, или FALSE, если записей более не имеется.

Данная функция является расширением функции msql_fetch_row(); она может возвращать нумерованный или ассоциативный массив (или объединенный). Вид возвращаемого массива может указываться в аргументе resultjtype одной из констант: MYSQL_NUM, MYSQL_ASSOC, MYSQL_BOTH (по умолчанию).

В ассоциативных массивах индексами служат имена нолей. Если имеются одноименные поля, используется последнее. Для доступа к одноименным полям также можно использовать числовые индек-т сы (поля нумеруются в той последовательности, в которой указаны в запросе или в таблице) или псевдонимы.

Заметьте, что функция работает лишь немного медленнее, чем mysql_ fetch_row(), но предоставляет дополнительную функциональность.

Будьте внимательны с обработкой записей, которые содержат единственное поле, имеющее значение 0 (или пустую строку, или NULL).

См. также msql_fetch_row().

msql_fetch_row

Занесение записи в нумерованный массив

array msql_fetch_row (int query_identifier)

Возвращает соответствующий текущей записи массив из набора записей query_identifier, возвращенных запросом (последующий вызов функции возвращает следующую запись), или FALSE, если записей более не имеется.

Каждое поле записи сохраняется в нумерованном элементе массива (нумерация начинается с 0).

См. также: msql_fetch_array(), msq()_fetch_object(), msql_data_seek() и msql_result().

msql_fetch_object

Получение записи в свойствах объекта

int msql_fetch_object (int query_identifier [, int resul t_type])

Возвращает объект, в свойствах которого находятся поля текущей записи, или FALSE, если записей более не имеется.

По скорости выполнения функция идентична mysql_fetch_array() и почти идентична mysql_fetch_row().

См. также: msql_fetch_array() и msq"l_fetch_row().

msql_fetch_field

Получение информации о поле записи в свойствах объекта

object msql_fetch_field (int query_identifier, Int field_offset)

Если номер поля fi el d_offset не указан, при каждом вызове функции возвращаются свойства следующего поля из набора записей query_ identifier.

Возвращаемый объект имеет следующие свойства (и содержит информацию):

name - имя поля;
table - имя таблицы, которой принадлежит поле;
notjiull - 1, если полю разрешено пустое значение;
primary_key - 1, если поле является ключевым;
unique_key - 1, если в поле допускаются только уникальные значения;
type - тип поля.
См. также msql_field_seek().

msql_field_seek

Перемещение к указанному полю

int msql_field_seek (int query_identifier, int field_offset)

Последующий вызов msql_fetch_field() (если в нем не указан номер поля) будет возвращать информацию о поле с указанным номером field_offset.

См. также msql_fetch_field().

msql_fieldname

Получение имени поля в наборе записей

string msql_fieldname (int query_identifier, int field)

Функция возвращает имя ноля с индексом field в наборе записей query_identifier.

msql_fieldtable

Получение имени таблицы, которой принадлежит поле из набора записей

int msql_fieldtable (int query_identifier, int field)

msql_fieldtype

Получение типа поля набора записей

string rasql_fieldtype (int query_identifier, int i)

Возвращаемая строка содержит название тина поля: «int», «real», «string», «blob» или другого, описанного в документации.

msql_fieldflags

Получение флага поля записи

string msql_fieldflags (int query_identifier, int i)

Поля записей в mSQL Moiyr иметь два флага: «notjiull», «primary_key».

Функция возвращает перечисление через пробел флагов, имеющихся у поля с индексом i (нумерация начинается с 0) в наборе записей query_identifier (разделить полученную строку на составляющие можj но функцией explode()).

Если поле флагов не имеет, возвращается пустая строка.

msql_fieldlen

Получение размера поля набора записей

int msql_fieldlen (int query_identifier, int i)

msql_free_result

Уничтожение набора записей

int msql_free_result (int query_identifier)

Функция освобождает память, занимаемую набором записей query_ identifier, возвращенным запросом.

msql_fist fields

Получение перечисления полей в результате запроса

int msql_list_fields (string database, string tablename)

Функция возвращает пустой набор записей таблицы tablename из БД database, который можно использовать для получения информации о всех полях, имеющихся в таблице, с помощью функций: msql_ fetch_field(), msql_field_flags(), mysql_field_len(), mysql_field_name() и mysql_field_type().

Заметьте: при ошибке возвращается -1, а в переменной Sphperrmsg сохраняется сообщение об ошибке и (если функция не была вызвана с оператором «@») распечатывается сообщение об ошибке.

См. также msql_error().

msql_num_fields

Получение числа полей в наборе записей

int msql_num_fields (int queryjidentifier)

См. также: msq(), msqljjuery(), msql_fetch_field() и msql_num_rows().

Ранее функция называлась msqljiumfields().

msql_error

Получение сообщения об ошибке последней функции msql

string_msql_error ()

Возвращает сообщение об ошибке, произошедшей в ходе выполнения последней функции mSQL, или пустую строку, если ошибки не произошло. Раисе ошибки, происходящие при операциях с MySQL, выдавались в виде предупреждений, но сейчас возникновение ошибок нужно выявлять самостоятельно.

Учебник по основам PHP   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉