Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемportal.tpu.ru
1 Соколова В. В. Поддержка баз данных в РНР
2 Соколова В. В. Лаб 6 Работа с базами данных в РНР В РНР реализована обширная поддержка практически всех существующих серверов баз данных, в том числе: Adabas, Informix, PostgreSQL Dbase, Ingres, InterBase, Sybase Empress, mSQL, UNIX dbm File-Pro (read-only), MySQL, IBM DB2 и Oracle. MySQL ( – надежная СУБД на базе SQL, разработанная и сопровождаемая фирмой Т.с.Х DataKonsultAB (Стокгольм, Швеция). Начиная с 1995 года, MySQL стала одной из самых распространенных СУБД в мире, что отчасти обусловлено ее скоростью, надежностью и гибкой лицензионной политикой. Благодаря хорошим характеристикам и обширному набору стандартных интерфейсных функций, очень простых в использовании, MySQL стала самым популярным средством для работы с базами данных в РНР. После успешной установки сервер MySQL необходимо настроить. Процесс настройки в основном состоит из создания новых баз данных и редактирования таблиц привилегий MySQL. Таблицы привилегий управляют доступом к базам данных MySQL, что имеет важную роль в обеспечении безопасности.
3 Соколова В. В. Лаб 6 Работа с MySQL Общая последовательность действий при взаимодействии с сервером MySQL выглядит так: 1. Установить соединение с сервером MySQL. Если попытка завершается неудачей, вывести соответствующее сообщение и завершить процесс. 2. Выбрать базу данных сервера MySQL. Если попытка выбора завершается неудачей, вывести соответствующее сообщение и завершить процесс. Допускается одновременное открытие нескольких баз данных для обработки запросов. 3. Обработать запросы к выбранной базе (или базам). 4. После завершения обработки запросов закрыть соединение с сервером баз данных.
4 Соколова В. В. Лаб 6 Стандартные функции РНР для работы с MySQL 1. Функция mysql_connect( ) устанавливает связь с сервером MySQL. Синтаксис функции: int mysql_connect ([string хост [:порт] [:/путь//к/сокету] [, string имя пользователя] [, string пароль]) В параметре хост передается имя компьютера, указанное в таблицах привилегий сервера MySQL. Наряду с именем хоста могут указываться необязательные параметры номер порта, а также путь к сокету (для локального хоста). Параметры имя_пользователя и пароль должны соответствовать имени пользователя и паролю, заданным в таблицах привилегий MySQL. Если параметр хост не задан, функция mysql_connect( ) пытается установить связь с локальным хостом. Пример открытия соединения с host", "stud", "osu") or die("Could not connect to MySQL server!"); В данном примере localhost – имя компьютера, stud – имя пользователя, а osu – пароль. перед вызовом функции mysql_connect( ) подавляет все сообщения об ошибках, выдаваемые при неудачной попытке подключения, – они заменяются сообщением, указанным при вызове die( ).
5 Соколова В. В. Лаб 6 Функции соединения с сервером баз дынных Если программа устанавливает соединения с несколькими серверами MySQL на разных хостах, следует сохранить идентификатор соединения, возвращаемый при вызове mysql_connect( ), чтобы адресовать последующие команды нужному серверу MySQL. Пример: Идентификаторы $link1 и $link2 передаются при последующих обращениях к базам данных с запросами. 2. Функция mysql_pconnect( ) обеспечивает поддержку восстанавливаемых (persistent) соединений. В многопользовательских средах рекомендуется использовать mysql_pconnect( ) вместо mysql_connect( ) для экономии системных ресурсов. Синтаксис функции: int mysql_pconnect ([string хост [:порт] [:/путь//к/сокету] [, string имя пользователя] [, string пароль])
6 Соколова В. В. Лаб 6 Выбор базы данных 3. Функция mysql_select_db( ) используется для выбора базы данных, находящейся на сервере. Синтаксис функции: int mysql_select_db (string имя_базы_данных [, int идентификатор_соединения]) Параметр имя_базы_данных определяет выбираемую базу данных, идентификатор которой возвращается функцией mysql_select_db( ). Параметр идентификатор_соединения необязателен лишь при одном открытом соединении с сервером MySQL. При наличии нескольких открытых соединений этот параметр должен указываться. Пример выбора базы данных : Если в программе выбирается только одна база данных, сохранять ее идентификатор не обязательно. Однако при выборе нескольких баз данных возвращаемые идентификаторы сохраняются, чтобы можно было сослаться на нужную базу при обработке запроса. Если идентификатор не указан, используется последняя выбранная база данных.
7 Соколова В. В. Лаб 6 Закрытие соединения 4. Функция mysql_close( ) закрывает соединение, определяемое необязательным параметром. Если параметр не задан, функция mysql_close( ) закрывает последнее открытое соединение. Синтаксис функции: int mysql_close ([int идентификатор_соединения]) Если существует лишь одно открытое соединение с сервером, то указывать идентификатор соединения не нужно. Соединения, открытые функцией mysql_pconnect( ), закрывать не обязательно.
8 Соколова В. В. Лаб 6 Функция, возвращающая идентификатор результата выполнения запроса 5. Функция mysql_query( ) обеспечивает интерфейс для обращения с запросами к базам данных. Синтаксис функции: int mysql_query (string запрос [, int идентификатор_соединения]) Параметр запрос содержит текст запроса на языке SQL. Запрос передается либо соединению, определяемому необязательным параметром идентификатор_соединения, либо, при отсутствии параметра, последнему открытому соединению. В зависимости от типа запроса вызов mysql_query( ) может приводить к разным последствиям: 1. При успешном выполнении команды SQL SELECT возвращается идентификатор результата, который впоследствии передается функции mysql_result( ) для последующего форматирования и отображения результатов запроса. 2. Если обработка запроса завершилась неудачей, функция возвращает FALSE. Функция mysql_free_result( ) освобождает всю память, связанную с конкретным запросом. При вызове ей передается идентификатор результата, возвращаемый mysql_query( ).
9 Соколова В. В. Лаб 6 Функция, определяющая количество записей 6. Функция mysql_num_rows( ) определяет количество записей, возвращаемых командой SELECT. Синтаксис функции: int mysql_num_rows (int результат) Пример использования функции:
10 Соколова В. В. Лаб 6 Функция, определяющая количество записей 7. Функция mysql_affected_rows( ) определяет количество записей, участвующих в запросе SQL с командами INSERT, UPDATE, REPLACE или DELETE. Функция не работает с запросами, основанными на команде SELECT. Синтаксис функции: int mysql_affected_rows ([int идентификатор_соединения]) Если не указывается параметр идентификатор_соединения функция пытается использовать последнее открытое соединение. Пример использования функции:
11 Соколова В. В. Лаб 6 Функция, необходимая для получения набора данных 8. Функция mysql_result( ) используется в сочетании с mysql_query( ) (при выполнении запроса с командой SELECT) для получения набора данных. Функция mysql_result( ) удобна для работы с относительно небольшими наборами данных. Синтаксис функции: int mysql_result (int идентификатор_результата, int запись [ ' поле ' ]) В параметре идентификатор_результата передается значение, возвращенное функцией mysql_query( ). Параметр запись ссылается на определенную запись набора данных, определяемого параметром идентификатор_результата. В необязательном параметре поле могут передаваться: 1) смещение поля в таблице, 2) имя поля, 3) имя поля в формате имя_поля_имя_таблицы.
12 Соколова В. В. Лаб 6 Функция, необходимая для получения набора данных Пример выборки и форматирования данных в базе данных MySQL:
13 Соколова В. В. Лаб 6 Функции, необходимые для получения набора данных 9. Функция mysql_fetch_row( ) используется для присвоения значения всех полей записи элементам индексируемого массива (начиная с индекса 0). Синтаксис функции: array mysql_fetch_row (int результат) Использование функции list( ) в сочетании с mysql_fetch_row( ) позволяет сэкономить несколько команд, необходимых при многократном использовании mysql_result( ) для получения отдельных полей. 10. Функция mysql_fetch_array( ) аналогична mysql_fetch_row( ), однако по умолчанию значения полей записи сохраняются в ассоциативном массиве. Синтаксис функции: array mysql_fetch_array (int идентификатор результата [, тип_индексации]) В параметре идентификатор_результата передается значение, возвращенное функцией mysql_query( ). Необязательный параметр тип_индексации принимает одно из следующих значений: 1) MYSQL_ASSOC – функция mysql_fetch_array( ) возвращает ассоциативный массив (если параметр не указан, это значение используется по умолчанию); 2) MYSQL_NUM – функция mysql_fetch_array( ) возвращает массив с числовой индексацией; 3) MYSQL_BOTH – к полям возвращаемой записи можно обращаться как по числовым, так и по ассоциативным индексам.
14 Соколова В. В. Лаб 6 Функция, необходимая для получения набора данных Пример выборки данных функцией mysql_fetch_row( ):
15 Соколова В. В. Лаб 6 Функция, необходимая для получения набора данных Пример выборки данных функцией mysql_fetch_array( ):
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.