Microsoft SQL Server
Взаимодействие с базами данных
🕛 01.11.2006, 13:57
Ранее для доступа к Microsoft SQL 6.5 и 7.0 использовались разные модули, но теперь они объединены в один. mssql_coonnect
Подключение к серверу MS SQL
int mssql_connect ([string servername [, string user-name [, string password]]])
Возвращает дескриптор подключения к серверу MS SQL или FALSE - при ошибке. Аргумент servernane должен быть действительным именем, определенным в файле interfaces.
Если функция повторно вызывается с теми же аргументами, новое подключение не создается, а возвращается идентификатор имеющегося.
Подключение к серверу закрывается при завершении сценария или ранее, если явно вызывается функция mssql_close().
См. также: mssql_pconnect(), mssql_close().
mssql_close
Закрытие подключения к MS SQL Server
int mssql_close ([int link_identifier]) Возвращает TRUE или FALSE - при ошибке.
Идентификатор закрываемого подключения указывается в аргументе; если его не указывать, то закрывается последнее открытое данным сценарием подключение.
Фактически использование данной функции не является обязательным, так как РНР автоматически закрывает все незакрытые неустойчивые подключения при завершении сценария. Заметьте: устойчивые подключения, созданные функцией mssql_pconnect(), не закрываются.
См. также: mssql_connect(), mssql_pconnect().
mssql_pconnect
Создание устойчивого подключения к серверу MS SQL
int mssqljiconnect ([string server-name [, string username [. string password]]])
Возвращает дескриптор устойчивого подключения или FALSE - при ошибке. Mssql_pconnect() действует подобно Mssql_connect() с двумя отличиями.
Перед подключением функция пытается проверить, имеется ли уже открытое (устойчивое) подключение с параметрами (имя сервера, пользователя и пароль), аналогичными указанным. Если такое подключение обнаруживается, то возвращается его идентификатор вместо создания нового подключения.
При завершении сценария подключение не закрывается, а остается действительным для дальнейшего использования. (Функция mssql_ close() не может закрыть подключения, созданные с помощью mssql_ pconnect().)
mssql_select_db
Выбор БД MS SQL
int mssql_select_db (string databasejiame [. int linkjidentifier])
Возвращает TRUE или FALSE - при ошибке.
Устанавливает БД с именем database_name, активной для текущего подключения или указанного в link_iidentifier. Если подключений не имеется, то косвенно вызывается функция mssql_connect() с параметрами по умолчанию.
Последующие запросы, выполняемые функцией, будут адресованы данной БД.
См. также: mssql_connect(), mssql_pconnect() и mssql_query()
mssql_query
Выполнение запроса к БД
int rassql_query (string query [, int 1ink_identifier])
Посылает запрос текущей БД, активной для текущего (последнего открытого) подключения пли указанного и link_identifier. Если подключений не имеется, то косвенно вызывается функция mssql_connect() с параметрами по умолчанию.
Возвращает дескриптор набора возвращенных записей или FALSE - при ошибке.
См. также: mssql_select_db() и mssql_connect().
mssql_num_rows
Получение числа возвращенных записей
int mssql_num_rows (string result)
Возвращает число записей в наборе result, возвращенном функцией mssql_query().
См. также: mssql_query() и mssql_fetch_row().
В текущей реализации модуля отсутствует функция mssql _affected_ rows(), и для того, чтобы выяснить, сколько записей было изменено командами UPDATE, INSERT или DELETE, приходится использовать подобный следующему код:
SrsRows = mssql_query
("select @@rowcount as rows". $db):
Srows = mssql_result
($rsRows. 0. "rows"):
mssql_free_result
Уничтожение набора записей
int mssql_free_result (int result)
Функция освобождает память, занимаемую возвращенным запросом, набором записей result. Ее следует использовать только в случае, если требуется экономить память, так как память автоматически освобождается при завершении сценария.
mssql_result
Получение определенного элемента набора записей
int mssql result (Int result, int l, mixed field)
Возвращает содержимое ячейки из набора записей result. В аргументе row указывается номер записи (нумерация начинается с 0), в аргументе field можно указать индекс поля (число), имя поля, полное имя поля (вида: «имя_таблицы.имя_поля») или псевдоним поля (для запросов типа 'SELECT foo AS bar FROM...').
При работе с большими наборами записей быстрее выполняются функции типа _fetch_ (см. ниже). Также заметьте, что численные индексы обрабатываются быстрее строковых.
Не следует вызывать функцию mysqljresult() в сочетании с другими функциями обработки набора записей.
Рекомендуется использовать альтернативные функции: mssql_fetch_ row(), mssql_fetch_array() и mssql_fetch_object().
mssql_data_seek
Перемещение внутреннего указателя записи
int mssql_data_seek (int resul ^identifier, int rowjnumber)
При каждом вызове функции mssql_fetch_row() (или подобной ей) внутренний курсор записи смещается на следующую запись. Данная функция позволяет свободно перемещать курсор в наборе записей result_identifier так, чтобы он указывал на запись с номером row_ number (нумерация начинается с 0).
Она возвращает TRUE или FALSE - при ошибке.
См. также mssql_data_seek().
mssql_fetch_array
Занесение записи в массив
array mssql_fetch_array (int result)
Возвращает массив, соответствующий текущей записи из набора записей result, возвращенных запросом, или FALSE, если записей более не имеется (при этом курсор записи перемещается на следующую).
Данная функция является расширением функции mysql_fetch_row(), и она возвращает объединенный нумсрованно-ассоциативный массив. Доступ к элементам массива может осуществляться как через имена полей, так и по их номеру.
Заметьте, что функция выполняется немного медленнее, чем mysql_ fetch_row(), но предоставляет дополнительную функциональность.
См. также mssql_fetch_row().
mssql_fetch_row
Занесение записи в нумерованный массив
array mssql_fetch_row (int result)
Возвращает соответствующий текущей записи массив из набора записей result, возвращенных запросом (последующий вызов функции возвращает следующую запись), или FALSE, если записей более не имеется.
Каждое поле записи сохраняется в нумерованном элементе массива (нумерация начинается с 0).
См. также: mssql_fetch_array(), mssql_fetch_object(), mssql_data_seek(), mssql_fetch_length() и mssql_result().
mssql_fetch_object
Получение записи в свойствах объекта
int mssql_fetch_object (int result)
Возвращает объект, в свойствах которого находятся поля текущей записи, или FALSE, если записей более не имеется.
По скорости выполнения функция идентична mysql_fetch_array() и почти идентична mysql_fetch_row().
См. также: mssql_fetch_array() и mssql_fetch_row().
mssql_num_fields
Получение числа полей в наборе записей
int mssql_num_fields (int result)
См. также: mssql_query(), mssql_fetch_field() и mssql_num_rows().
mssql_fetch_field
Получение информации о поле записи в свойствах объекта
object mssql_fetch_field (int result [. int field_pffset])
Если номер поля field_offset не указан, при каждом вызове функции возвращаются свойства следующего поля из набора записей result.
Возвращаемый объект имеет следующие свойства (и содержит информацию):
name - имя поля. Если поле - результат выполнения функции, имя возвращается в виде computed$N, где #N - порядковый номер;
column_source - имя таблицы, которой принадлежит поле;
maxjlength - максимальная длина поля;
numeric - 1, если поле числовое.
См. также mssql_field_seek().
mssql_field_seek
Перемещение к указанному полю
int mssql_field_seek (int result, int field_offset)
Перемещается к указанному числом полю. И, если при следующем вызове mssql_fetch_field() не указывается номер поля, будет возвращено это поле.
См. также mssql_fetch_field().
mssql_field_name
Получение имени поля в наборе записей
int mssql_field_name (int result [, int offset])
mssql_field_length
Получение размера поля набора записей
int mssql_fieldjength (int result [, int offset])
mssql_field_type
Получение типа поля набора записей
string mssql_field_type (int result [, int offset])
mssql_get_last_message
Получение последнего сообщения сервера
string mssql_getjast_message (void)
mssql_min_error_severity
Установка минимального уровня сообщаемых ошибок
void rassql_min_error_severity (int severity)
mssql_min_message_severity
Установка минимального уровня сообщений
void mssql_min_message_severity (int severity)