Xwab
Форумыnavigate_nextПрограммирование на PHP

Функции PHP для работы с MySQL
Сообщения
Viy

mysql_connect
Открывает соединение с сервером MySQL и возвращает его указатель или false при неудаче. Синтаксис функции:
resource mysql_connect([string $server[, string $username[, string $password]]])
Это урезаный вариант синтаксиса функции mysql_connect(). Здесь рассмотрены три основные строковые (string) переменные, которых обычно хватает для работы.
$server - сокет (хост), к которому производится подключение. Значение переменной не имеет никакого отношения к домену вашего сайта. Название и порт $server зависят от настроек самого сервера. Обычно эта переменная имеет значение localhost, что можно изменить в настройках PHP.
$username - имя пользователя владельца процесса сервера.
$password - пароль владельца процесса сервера.

mysql_close
Закрывает соединение с сервером MySQL. Синтаксис функции:
bool mysql_close([resource lin_identifier])
Возвращает true в случае успешного завершения, false при возникновении ошибки. mysql_close() закрывает соединение с базой данных MySQL, на которое указывает переданный указатель. Если параметр link_identifier не указан, закрывается последнее открытое (текущее) соединение. Непостоянные соединения автоматически закрываются в конце скрипта и mysql_close() не требуется.

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

mysql_query
Посылает запрос MySQL. Синтаксис функции:
resource mysql_query(string query[, resource link_identifier])
mysql_query() посылает запрос активной базе данных сервера, на который ссылается переданный указатель. Если параметр link_identifier опущен, используется последнее открытое соединение. Если открытое соединения отсутствуют, функция пытается соединиться с СУБД, аналогично функции mysql_connect() без параметров. Результат запроса буферизируется. Только для запросов SELECT, SHOW, EXPLAIN и DESCRIPTE, mysql_query() возвращает указатель на результат запроса, или false, если запрос не был выполнен. В остальных случаях mysql_query() возвращает true при успешном запросе и false в случае ошибки. Значение, не равное false, свидетельствует лишь о том, что запрос был выполнен успешно, но не говорит о количестве затронутых или возвращенных рядов. Вполне возможна ситуация, когда успешный запрос не затронет ни одного ряда.

mysql_fetch_row
Обрабатывает ряд результата запроса и возвращает неассоциативный массив. Синтаксис функции:
array mysql_fetch_row(resource result)
Возвращает массив, содержащий данные обработанного ряда, или false, если рядов больше нет. mysql_fetch_row обрабатывает один ряд результата, на который ссылается переданный указатель. Ряд возвращается в массиве. Каждая колонка располагается в следующей ячейке массива. Массив начинается с нулевого индекса. Последующие вызовы функции mysql_fetch_row вернут следующие ряды или false, если рядов не осталось.

mysql_fetch_assoc
Обрабатывает ряд результата запроса и возвращает ассоциативный массив. Синтаксис функции:
array mysql_fetch_assoc(resource result)
Возвращает ассоциативный массив с названиями индексов, соответствующими названиям колонок,или false, если колонок больше нет. Функция mysql_fetch_assoc() аналогична вызову функции mysql_fetch_array() со вторым параметром, равным MYSQL_ASSOC. Функция возвращает только ассоциативный массив. Если вам нужны как ассоциативные, так и числовые индексы в массиве, обратитесь к функции mysql_fetch_array(). Если несколько колонок в запросе имеют одинаковые имена, значение ключа массива с индексом названия колонок будет равно значению последней из колонок. Важно знать, что mysql_fetch_assoc() работает не медленнее, чем mysql_fetch_row(), предоставляя более удобный доступ к данным.

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

mysql_result
Возвращает данные результата запроса. Синтаксис функции:
mixed mysql_result(resource result, int row[, mixed field])
mysql_result() возвращает значение одной ячейки результата запроса. Аргументом поля может быть смещение, имя поля либо имя поля и имя таблицы через точку (tebleName.filedName). Работая с большими результатами запросов, следует использовать одну из функций, обрабатывающих сразу целый ряд результата. Так как эти функции возвращают результат нескольких ячеек сразу, они намного быстрее mysql_result(). Вызов функции mysql_result() не должен смешиваться с другими функциями, работающими с результатом запроса.

mysql_num_rows
Возвращает количество рядов результата запроса. Синтаксис функции:
int mysql_num_rows(resource result)
Функция работает только с запросами SELECT.

mysql_insert_id
Возвращает ID, сгенерированный при последнем запросе INSERT. Синтаксис функции:
int mysql_insert_id([resource link_identifier])
mysql_insert_id() возвращает ID, сгенерированный колонкой с AUTO_INCREMENT последним запросом INSERT к серверу, на который ссылается переданный функции указатель link_identifier. Если параметр link_identifier не указан, используется последнее открытое соединение. mysql_insert_id() возвращает 0, если последний запрос не работал с полями AUTO_INCREMENT. Если вам нужно сохранить значение, убедитесь, что mysql_insert_id() вызывается сразу же после запроса.

06 Июл 2012, 20:49
Aventus

это для новичков?

06 Июл 2012, 20:51
Akdmeh

Конечно, спасибо, но более актуально было бы mysqli или PDO

06 Июл 2012, 21:18
oee

Akdmeh, да ну) Может тогда сразу на postgresql перепрыгнем?

06 Июл 2012, 21:41
mixlion

oee, php не будет поддерживать эти ф-ии в скором будущем.

06 Июл 2012, 21:45
Akdmeh

4, с PDO можно и на постгре, и на mssql, и на sqlite и вообще на все, что доступно драйверами PDO

06 Июл 2012, 21:45
Xardy

Именно, что изложено в #1, я знаю, и на практике применяю, хотелось бы узнать за PDO, очень.
Поддержу akdmeh

06 Июл 2012, 21:54
Башка

MySQL функции уже не желательны в пыхе, не стоит их использовать, код не переносим с ними

06 Июл 2012, 21:58
RiO

oee, это разные вещи минимум

06 Июл 2012, 22:36
Pljus

Зачем писать сюда эти функции, если их можно найти в php manual'e?

08 Июл 2012, 1:03
Ответить на тему