::: PHP.com.ua - учимся вместе. ::: ::: PHP.com.ua - учимся вместе. :::



 
   - header
  - Я канєшно вибачаюся, ну от вирішив навчи...
  - Трудности с включенным safe mode, не вид...
  - Поможіть з установкою локальки
  - Помогите с функцией utf2win1251
  - Вывод окна предупреждения
  - допоможіть нічого не розумію


Главная
Новости
Статьи
Шпаргалки
Файлы
О проекте
Форум
Футболки


FREEhost.com.ua - купил хостинг 10 у.е. на Begun в подарок.

iName.com.ua - регистрация доменных имен и хороший хостинг.

Библиотека программиста - нужный вам исходник или документация по необходимому для вас языку программирования.

Designclub - Клуб дизайнеров Украины.

Регистрация доменов
Хостинг

 HowtoForge.ORG.UA - Это первый Украинский ресурс развития open source программного обеспечения


Путь: Статьи > Базы данных > Mysql

Mysql

Автор: -
Дата публикации - 21.5.2005
Просмотров: - 3128

Функции MySQL


[p]int mysql_affected_rows ([resource link_identifier])[/p]
mysql_affected_rows() возвращает количество строк используемых последним запросом команд INSERT, UPDATE или DELETE связанных с link_identifier. Если инжентификатор не задан то использется последний после запроса mysql_connect().

[p]int mysql_change_user (string user, string password [, string database [, resource link_identifier]])[/p]
mysql_change_user() изменят пользователя для активного соединения или соединения которое залано link_identifier параметром. После того как пользователь изменен, если указана база данных, то она становится базой данных по умолчанию или текущей. Если авторизация нового пользователя и пароля прошла неудачно - текущий пользователь остается активным.

[p]bool mysql_close ([resource link_identifier])[/p]
Возвращает TRUE при удачном завершении операции, FALSE в противном случае. mysql_close() закрывает соединение с MySQL сервером, ассоциированное с индентификатором. Если link_identifier не определен, используется последнее открытое соединение.

[p]resource mysql_connect ([string server [, string username [, string password]]])[/p]
Возвращает идентификатор MySQL, или FALSE если не выполнился запрос. mysql_connect() устанавливает соединение с сервером MySQL. Следующие значения будут подставляться автоматически, если они пропущены: server = 'localhost:3306', username = имя пользователя которому принадлежат права на серверный процесс и password = пустая строка. Параметр server может включать в себя номер порта, например "hostname:port" или путь к сокету - ":/path/to/socket" for the localhost.
Замечание: Поддержка для ":port" была добавлена начиная с PHP 3.0B4. Поддержка для ":/path/to/socket" была добавлена начиная с PHP 3.0.10. Вы можете подавлять сообщения об ошибках используя предикап '@' перед именем функции. Если второй вызов mysql_connect() будет использовать те же аргументы, что и предыдущий, то никакого нового указателя не будет создаваться, а вместо него будет использоваться старый, с указанием на старое соединение.


[p]bool mysql_create_db (string database name [, resource link_identifier])[/p]
mysql_create_db() пытается создать новую базу данных, используя данное соединение или соединение указанное в link_identifier. Возвращает TRUE при удачном завершении, FALSE в противном случае.

[p]bool mysql_data_seek (resource result_identifier, int row_number)[/p]
Возвращает TRUE при удачном завершении, FALSE в противном случае. mysql_data_seek() перемещает внутреннею ссылку строки на результат MySQL ассоциированною с result_identifier ссылающейся на определенные row_number. Следующий вызов mysql_fetch_row() должен возвратить эти строки.

[p]string mysql_db_name (resource result, int row [, mixed field])[/p]
mysql_db_name() воспринимает свой первый параметр как указатель на результат вызова mysql_list_dbs(). Параметр row это parameter is an index into the result set. Выводит список баз данных

[p]resource mysql_db_query (string database, string query [, resource link_identifier])[/p]
Возвращает положительный результат при удачном выполнении вызова, или FALSE при ошибке. mysql_db_query() выбирет базу данных и выполнят запрос к ней. Если указатель не задан, то функция пытается найти открытый указатель к серверу MySQL. Если же ни одного указателя не было найдено она пытается создать новый используя функции mysql_connect(), которая вызывается без параметров.

[p]bool mysql_drop_db (string database_name [, resource link_identifier])[/p]
Возвращает TRUE при удачном завершении, FALSE в противном случае. mysql_drop_db() предназначена для удаления базы данных на сервере определенной параметром link_identifier. Для совместимости с предыдущими версиями также можно использовать mysql_dropdb(). Однако это не рекомендуется.

[p]int mysql_errno ([resource link_identifier])[/p]
Возвращает номер ошибки последней функции MySQL, или 0 (ноль) если ошибки не было.

[p]string mysql_error ([resource link_identifier])[/p]
Возвращает текстовое значение ошибки последней функции MySQL, либо '' (пустую строку) если ошибки не было.

[p]string mysql_escape_string (string unescaped_string)[/p]
Эта функция очищает unescaped_string, таким образом они становятся безопасными для использования в функции mysql_query().
Замечание: mysql_escape_string() не избавляет от символов % и _.

[p]array mysql_fetch_array (resource result [, int result_type])[/p]
Возвращает массив, состоящий из разделенных строк, либо FALSE если нет больше строк. mysql_fetch_array() это расширение функции mysql_fetch_row(). Она дополнительно сохраняет информацию о номерах индексов в возвращаемом массиве, она также может сохранять индексы в ассоциативном массиве, используя имена полей как ключи.

[p]array mysql_fetch_assoc (resource result)[/p]
Возвращает ассоциативный массив, состоящий из разделенных строк, либо FALSE если нет больше строк. mysql_fetch_assoc() это эквивалент функции mysql_fetch_array() со вторым параметром MYSQL_ASSOC. Она возвращает только ассоциативные массивы. Это путь для оригинальной работы mysql_fetch_array(). Если вам необходимы нумерованые индексы так же как ассоциативные массивы используете mysql_fetch_array().

[p]object mysql_fetch_field (resource result [, int field_offset])[/p]
Возвращает объект содержащий информацию о полях. mysql_fetch_field() может использоваться для извлечения информации о полях, содержащихся в результате запроса. Если смещение не определено, то следующее поле которое не было до сих пор определено, mysql_fetch_field() определит его.

[p]array mysql_fetch_lengths (resource result)[/p]
Возвращает массив в котором одержится длина каждого поля в последней строке разбитой функцией mysql_fetch_row(), или FALSE в случае ошибки. mysql_fetch_lengths() сохраняет длину каждого результирующего столбца в последней строке возвращенного функциями mysql_fetch_row(), mysql_fetch_array(), и mysql_fetch_object() в массиве, начальное смещение 0.

[p]object mysql_fetch_object (resource result [, int result_type])[/p]
Возвращает объект вместе с его свойствами который соответствует разбитым строкам, или FALSE если строк больше нет. mysql_fetch_object() очень похожа на функцию mysql_fetch_array(), с одним отличием - вместо массива возвращается объект. Т.е. это означает, что Вы можете получить доступ к полю используя только его имя, а не индекс или смещение (числа не могут являться именами полей). Опциональный аргумент result_type это константа, которая может принимать следующие значения: MYSQL_ASSOC, MYSQL_NUM, и MYSQL_BOTH. Смотрите mysql_fetch_array() для дополнительной информации по этим константам.

[p]array mysql_fetch_row (resource result)[/p]
Возвращает массив соответствующий строкам, или FALSE если строк больше нет. mysql_fetch_row() выделяет одну строку с данными из результата ассоциированного с идентификатором result. Строка возвращается как массив. Каждая колонка результата сохраняется в массиве по смещению, начиная с нулевого. Следующий вызов mysql_fetch_row() должен возвратить следующую строку из множества строк в результате, или FALSE если строк больше нет.

[p]string mysql_field_flags (resource result, int field_offset)[/p]
mysql_field_flags() возвращает поле флагов определенных для этого поля. Флаги выводятся как отдельные слова разделенные единичным пробелом, таким образом Вы можете разбить возвращенные значения используя функцию explode(). Возможны следующие флаги, если Ваша версия MySQL поддерживает их: "not_null", "primary_key", "unique_key", "multiple_key", "blob", "unsigned", "zerofill", "binary", "enum", "auto_increment", "timestamp". Для совместимости с предыдущими версиями можно использовать mysql_fieldflags(), но это не рекомендуется.

[p]string mysql_field_name (resource result, int field_index)[/p]
mysql_field_name() возвращает имя поля указаное его индексом. result должен быть реальным указателем на результат, а field_index номер смещения поля от начала (от 0).

[p]int mysql_field_len (resource result, int field_offset)[/p]
mysql_field_len() возвращает длину указанного поля. Для совместимости можно использовать функцию mysql_fieldlen(). Но это не рекомендуется.

[p]int mysql_field_seek (resource result, int field_offset)[/p]
Ищет поле по его смещению. Если следующий вызов mysql_fetch_field() не содержит смещения поля, то смещение будет определено с помощью функции mysql_field_seek().

[p]string mysql_field_table (resource result, int field_offset)[/p]
Возвращает имя таблицы, которая содержит данное поле. Для совместимости можно использовать функцию mysql_fieldtable(). Но это не рекомендуется.

[p]string mysql_field_type (iresource result, int field_offset)[/p]
Функция mysql_field_type() очень похожа на функцию mysql_field_name(). Аргументы идентичны, различаются они лишь типом возвращаемых полей. Тип поля будет одним из "int", "real", "string", "blob", или другими детально рассмотреными в других разделах документации по MySQL.

[p]bool mysql_free_result (resource result)[/p]
mysql_free_result() освободит всю память которая было ассоциирована с результатом определенным result. mysql_free_result() нужно вызывать только тогда, когда Вы озабочены тем, что слишком много памяти используется для запросов, которые возвращают большие множества данных. Вся ассоциированная память будет автоматически освобождена и скрипт завершит свою работу. Возвращает TRUE при удачном освобождении памяти, и FALSE в противном случае. Для совместимости можно использовать функцию mysql_freeresult(). Но это не рекомендуется

[p]int mysql_insert_id ([resource link_identifier])[/p]
mysql_insert_id() возвращает ID сгенерированное с помощью AUTO_INCREMENT в предыдущем запросе INSERT используя данный link_identifier. Если link_identifier не определен, то будет использоваться последний открытый линк. mysql_insert_id() возвращает 0 если в предыдущем запросе не генерировалось значение AUTO_INCREMENT. Если Вам необходимо сохранить это значение для дольнейшего использования, то будьте уверены, что вызывйте mysql_insert_id() сразу после запроса, который создал это значение.
[quote]
Замечание: Значение функции MySQL SQL LAST_INSERT_ID() всегда содержит последнее сгенерированное значение AUTO_INCREMENT, и оно не затирается между запросами.
Предупреждение: mysql_insert_id() тип, возвращаемый "родной" функцией MySQL C API mysql_insert_id() автоматически конвертируется в long (в PHP называется int). Если Ваша колонка AUTO_INCREMENT имеет тип BIGINT, то значение возвращенное функцией mysql_insert_id() будет неправельным. Поэтому используйте внутреннюю функцию MySQL SQL LAST_INSERT_ID() в SQL запросах.
[/quote]

[p]resource mysql_list_dbs ([resource link_identifier])[/p]
mysql_list_dbs() возвратит указатель содержащий базы данных доступные для данного mysql демона. Используйте функцию mysql_tablename() для обработки результата этого указателя или любую другую функцию для для вывода таблиц.

[p]resource mysql_list_fields (string database_name, string table_name [, resource link_identifier])[/p]
mysql_list_fields() востанавливает информацию по данному имени таблицы. Аргументы - имя базы данных и имя таблицы. В результате, возвращаемый указатель можно использовать с функциями mysql_field_flags(), mysql_field_len(), mysql_field_name(), и mysql_field_type().

[p]resource mysql_list_tables (string database [, resource link_identifier])[/p]
mysql_list_tables() берет имя базы данных и возвращает указатель, работа функции очень похожа на работу функции mysql_db_query(). Вы можете использовать функцию mysql_tablename() для извлечения реальных имен таблиц из результирующего указателя, или любую другую функцию по работе с таблицами. Для совместимости можно использовать функцию mysql_listtables(). Однако это не рекомендуется.

[p]int mysql_num_fields (resource result)[/p]
mysql_num_fields() вовзращает количесво полей в виде множества. Смотрите также: mysql_db_query(), mysql_query(), mysql_fetch_field(), mysql_num_rows(). Для совместимости можно использовать функцию mysql_numfields(). Однако это не рекомендуется.

[p]int mysql_num_rows (resource result)[/p]
mysql_num_rows() возвращает количество строк в виде множества. Эта команда дейсвтительна только для SELECT запроса. Для выяснения количества строк которые бали использованы в запросах INSERT, UPDATE или DELETE, используйте mysql_affected_rows().

[p]resource mysql_pconnect ([string server [, string username [, string password]]])[/p]
Возвращает положительный указатель на постоянное соединение в случае успеха и FALSE в случае ошибки. mysql_pconnect() создает соединение к MySQL серверу. Следующие значения будут подставляться по умолчанию, если они пропущены при вводе функции: server = 'localhost:3306', username = имя пользователя которму принадлежит серверный процесс (чаще всего это root) password = пустое пароль. Параметр server также может содержать номер порта, т.е."hostname:port" или путь к сокету т.е. ":/path/to/socket" для localhost.
[quote]
Замечание: Поддержка расширения ":port" была добавлена только в версии 3.0B4. Поддержка для ":/path/to/socket" была добавлена только в версии 3.0.10.
[/quote]
Функция mysql_pconnect() работает почти также как и функция mysql_connect(), но с двумя большими отличиями.
Первое - когда просходит соединение, функция вначале пытается найти (постоянный) линк, кторый уже открыт для этого хоста, имени и пароля. Если он будет найден, то его индентификатор будет возвращен в качестве нового открытого соединения.
Второе - соединение с SQL сервером не будет закрыто после того как закончатся выполнение скрипта. Вместо этого линк будет сохранен для дальнейшего использования (функция mysql_close() не может закрыть соединение открытое при помощи функции mysql_pconnect()).
По этой причине этот тип линка называют "постоянным" ('persistent').
[quote]
Замечание: Запомните, что такой вид соединения возможен только тогда когда используется модульная версия PHP. Смотрите раздел Постоянные Соединения С Базами Данных для дополнительной информации.
Предупреждение: Использование постоянных соединений может потребовать дополнительных настроек Ваших Apache и MySQL для того чтобы убедиться что нет необходимости увеличивать число соединений разрешенных MySQL.
[/quote]


[p]resource mysql_query (string query [, resource link_identifier])[/p]
mysql_query() посылает запрос к текущей активной базу данных, которая ассоциирована линком. Если link_identifier не определен, то используется последний открытый линк. Если открытого соединения нет, то функция пытается его создать также как бы если mysql_connect() вызывалась с параметрами по умолчанию.
Замечание: Строку запроса не следует завершать точкой с запятой.
Только для выражения SELECT функция mysql_query() возвращает указатель на ресурс, или FALSE если запрос не был выполнен коректно. Для всех других типов SQL выражений, mysql_query() возвращает TRUE в случае успеха и FALSE в случае ошибки. Возвращенное не-FALSE значение подразумевает, что запрос корректен и может быть выполнен сервером. Функция не сообщает ничего о том сколько строк было обработано или возвращено. Она великолепно подходит для использования в запросах которые не воздействуют на строки или не возвращают строки.
Следующий пример запроса семантически неверен, поэтому mysql_query() вернет FALSE:
[code]
<?
$result = mysql_query("SELECT * WHERE 1 = 1") or die("Invalid query");
?>
[/code]
Следующий пример семантически неверн, если my_col не колонка в таблице my_tbl, поэтому mysql_query() вернет FALSE:
[code]
<?
$result = mysql_query("SELECT my_col FROM my_tbl") or exit ("Invalid query");
?>
[/code]

mysql_query() будет также возвращать FALSE если у Вас нет разрешения на доступ к таблице(цам) указаных в запросе. Assuming the query succeeds, you can call mysql_num_rows() to find out how many rows were returned for a SELECT statment or mysql_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement. Only for SELECT statements, mysql_query() returns a new result identifier that you can pass to mysql_fetch_array() and other functions dealing with result tables. When you are done with the result set, you can free the resources associated with it by calling mysql_free_result(). Although, the memory will automatically be freed at the end of the script's execution.

[p]resource mysql_unbuffered_query (string query [, resource link_identifier])[/p]
mysql_unbuffered_query() sends a SQL query query to MySQL, without fetching and buffering the result rows automatically, as mysql_query() does. On the one hand, this saves a considerable amount of memory with SQL queries that produce large result sets. On the other hand, you can start working on the result set immediately after the first row has been retrieved: you don't have to wait until the complete SQL query has been performed. When using multiple DB-connects, you have to specify the optional parameter link_identifier.
[quote]
Note: The benefits of mysql_unbuffered_query() come at a cost: You cannot use mysql_num_rows() on a result set returned from mysql_unbuffered_query(). You also have to fetch all result rows from an unbuffered SQL query, before you can send a new SQL query to MySQL.
[/quote]

[p]mixed mysql_result (resource result, int row [, mixed field])[/p]
mysql_result() returns the contents of one cell from a MySQL result set. The field argument can be the field's offset, or the field's name, or the field's table dot field name (tablename.fieldname). If the column name has been aliased ('select foo as bar from...'), use the alias instead of the column name. When working on large result sets, you should consider using one of the functions that fetch an entire row (specified below). As these functions return the contents of multiple cells in one function call, they're MUCH quicker than mysql_result(). Also, note that specifying a numeric offset for the field argument is much quicker than specifying a fieldname or tablename.fieldname argument. Calls to mysql_result() should not be mixed with calls to other functions that deal with the result set.

[p]bool mysql_select_db (string database_name [, resource link_identifier])[/p]
Возвращает TRUE в случае выполнения запроса, FALSE в противном случае. mysql_select_db() устанавливает и активизирует базу данных, которая была указана индентификатором. Если идентификатор прорущен, используется последнее открытое соединение. Если нет открытых соединений, то функция пытается его создать, так как бы пыталась функция mysql_connect() вызванная с параметрами по умолчанию. Каждый последующий вызов функции mysql_query() будет делать активной базу данных.

[p]string mysql_tablename (resource result, int i)[/p]
mysql_tablename() берет указатель возвращенный функцией mysql_list_tables() и индекс и возвращает имя таблицы. Функция mysql_num_rows() может использоваться для определения числа таблиц в результирующем указателе.

[p]string mysql_get_client_info (void)[/p]
mysql_get_client_info() возвращает строку содержащую информаию о версии клиентских библиотек. mysql_get_client_info() была добавлена только в PHP 4.0.5.


[p]string mysql_get_host_info ([resource link_identifier])[/p]
mysql_get_host_info() возвращает строку, которая описывает тип соединения используемый для соединения с link_identifier, содержит серверное имя хоста. Исли link_identifier опущен, используется последнее открытое соединение. mysql_get_host_info() была добавлена только в PHP 4.0.5.

[p]int mysql_get_proto_info ([resource link_identifier])[/p]
mysql_get_proto_info() возвращает версию протокола используемого для соединения с link_identifier. Если link_identifier опущен, то используется последнее открытое соединение. mysql_get_proto_info() была добавлена только в PHP 4.0.5.

[p]int mysql_get_server_info ([resource link_identifier])[/p]
mysql_get_server_info() возвращает версию сервера используемого для соединения с link_identifier. Если link_identifier опущен, то используется послднее открытое соединение. mysql_get_server_info() была добавлена только в PHP 4.0.5.

Спасибо большое Вовику (asmlord@rambler.ru) за предоставленный перевод.



Обсудить в ФОРУМе - комментариев ()


Путь: Статьи > Базы данных > Mysql

Если вы заметили орфографическую, стилистическую или другую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Контакты Design by webFaction Ukrainian PHP Group 2004-2005