Скачать презентацию Поддержка баз данных в РНР Соколова В В Скачать презентацию Поддержка баз данных в РНР Соколова В В

93ad583d8195f5ae3048b06bdc9f55f8.ppt

  • Количество слайдов: 15

Поддержка баз данных в РНР Соколова В. В. Поддержка баз данных в РНР Соколова В. В.

Работа с базами данных в РНР n n n В РНР реализована обширная поддержка Работа с базами данных в РНР n n n В РНР реализована обширная поддержка практически всех существующих серверов баз данных, в том числе: Adabas, Informix, Postgre. SQL Dbase, Ingres, Inter. Base, Sybase Empress, m. SQL, UNIX dbm File-Pro (read-only), My. SQL, IBM DB 2 и Oracle. My. SQL (http: //www. mysql. com) – надежная СУБД на базе SQL, разработанная и сопровождаемая фирмой Т. с. Х Data. Konsult. AB (Стокгольм, Швеция). Начиная с 1995 года, My. SQL стала одной из самых распространенных СУБД в мире, что отчасти обусловлено ее скоростью, надежностью и гибкой лицензионной политикой. Благодаря хорошим характеристикам и обширному набору стандартных интерфейсных функций, очень простых в использовании, My. SQL стала самым популярным средством для работы с базами данных в РНР. После успешной установки сервер My. SQL необходимо настроить. Процесс настройки в основном состоит из создания новых баз данных и редактирования таблиц привилегий My. SQL. Таблицы привилегий управляют доступом к базам данных My. SQL, что имеет важную роль в обеспечении безопасности. Соколова В. В. Лаб № 6

Работа с My. SQL n 1. 2. 3. 4. Общая последовательность действий при взаимодействии Работа с My. SQL n 1. 2. 3. 4. Общая последовательность действий при взаимодействии с сервером My. SQL выглядит так: Установить соединение с сервером My. SQL. Если попытка завершается неудачей, вывести соответствующее сообщение и завершить процесс. Выбрать базу данных сервера My. SQL. Если попытка выбора завершается неудачей, вывести соответствующее сообщение и завершить процесс. Допускается одновременное открытие нескольких баз данных для обработки запросов. Обработать запросы к выбранной базе (или базам). После завершения обработки запросов закрыть соединение с сервером баз данных. Соколова В. В. Лаб № 6

Стандартные функции РНР для работы с My. SQL Функция mysql_connect( ) устанавливает связь с Стандартные функции РНР для работы с My. SQL Функция mysql_connect( ) устанавливает связь с сервером My. SQL. n Синтаксис функции: int mysql_connect ([string хост [: порт] [: /путь//к/сокету] [, string имя пользователя] [, string пароль]) n В параметре хост передается имя компьютера, указанное в таблицах привилегий сервера My. SQL. Наряду с именем хоста могут указываться необязательные параметры — номер порта, а также путь к сокету (для локального хоста). Параметры имя_пользователя и пароль должны соответствовать имени пользователя и паролю, заданным в таблицах привилегий My. SQL. n Если параметр хост не задан, функция mysql_connect( ) пытается установить связь с локальным хостом. n Пример открытия соединения с My. SQL: @mysql_connect("local host", "stud", "osu") or die("Could not connect to My. SQL server!"); n В данном примере localhost – имя компьютера, stud – имя пользователя, а osu – пароль. Знак @ перед вызовом функции mysql_connect( ) подавляет все сообщения об ошибках, выдаваемые при неудачной попытке подключения, – они заменяются сообщением, указанным при вызове die( ). 1. Соколова В. В. Лаб № 6

Функции соединения с сервером баз дынных n n n 2. n Если программа устанавливает Функции соединения с сервером баз дынных n n n 2. n Если программа устанавливает соединения с несколькими серверами My. SQL на разных хостах, следует сохранить идентификатор соединения, возвращаемый при вызове mysql_connect( ), чтобы адресовать последующие команды нужному серверу My. SQL. Пример: Идентификаторы $link 1 и $link 2 передаются при последующих обращениях к базам данных с запросами. Функция mysql_pconnect( ) обеспечивает поддержку восстанавливаемых (persistent) соединений. В многопользовательских средах рекомендуется использовать mysql_pconnect( ) вместо mysql_connect( ) для экономии системных ресурсов. Синтаксис функции: int mysql_pconnect ([string хост [: порт] [: /путь//к/сокету] [, string имя пользователя] [, string пароль]) Соколова В. В. Лаб № 6

Выбор базы данных 3. n n Функция mysql_select_db( ) используется для выбора базы данных, Выбор базы данных 3. n n Функция mysql_select_db( ) используется для выбора базы данных, находящейся на сервере. Синтаксис функции: int mysql_select_db (string имя_базы_данных [, int идентификатор_соединения]) Параметр имя_базы_данных определяет выбираемую базу данных, идентификатор которой возвращается функцией mysql_select_db( ). Параметр идентификатор_соединения необязателен лишь при одном открытом соединении с сервером My. SQL. При наличии нескольких открытых соединений этот параметр должен указываться. Пример выбора базы данных : Если в программе выбирается только одна база данных, сохранять ее идентификатор не обязательно. Однако при выборе нескольких баз данных возвращаемые идентификаторы сохраняются, чтобы можно было сослаться на нужную базу при обработке запроса. Если идентификатор не указан, используется последняя выбранная база данных. Соколова В. В. Лаб № 6

Закрытие соединения 4. n n n Функция mysql_close( ) закрывает соединение, определяемое необязательным параметром. Закрытие соединения 4. n n n Функция mysql_close( ) закрывает соединение, определяемое необязательным параметром. Если параметр не задан, функция mysql_close( ) закрывает последнее открытое соединение. Синтаксис функции: int mysql_close ([int идентификатор_соединения]) Если существует лишь одно открытое соединение с сервером, то указывать идентификатор соединения не нужно. Соединения, открытые функцией mysql_pconnect( ), закрывать не обязательно. Соколова В. В. Лаб № 6

Функция, возвращающая идентификатор результата выполнения запроса 5. n n n 1. 2. n Функция Функция, возвращающая идентификатор результата выполнения запроса 5. n n n 1. 2. n Функция mysql_query( ) обеспечивает интерфейс для обращения с запросами к базам данных. Синтаксис функции: int mysql_query (string запрос [, int идентификатор_соединения]) Параметр запрос содержит текст запроса на языке SQL. Запрос передается либо соединению, определяемому необязательным параметром идентификатор_соединения, либо, при отсутствии параметра, последнему открытому соединению. В зависимости от типа запроса вызов mysql_query( ) может приводить к разным последствиям: При успешном выполнении команды SQL SELECT возвращается идентификатор результата, который впоследствии передается функции mysql_result( ) для последующего форматирования и отображения результатов запроса. Если обработка запроса завершилась неудачей, функция возвращает FALSE. Функция mysql_free_result( ) освобождает всю память, связанную с конкретным запросом. При вызове ей передается идентификатор результата, возвращаемый mysql_query( ). Соколова В. В. Лаб № 6

Функция, определяющая количество записей 6. n n Функция mysql_num_rows( ) определяет количество записей, возвращаемых Функция, определяющая количество записей 6. n n Функция mysql_num_rows( ) определяет количество записей, возвращаемых командой SELECT. Синтаксис функции: int mysql_num_rows (int результат) Пример использования функции: Соколова В. В. Лаб № 6

Функция, определяющая количество записей 7. n n n Функция mysql_affected_rows( ) определяет количество записей, Функция, определяющая количество записей 7. n n n Функция mysql_affected_rows( ) определяет количество записей, участвующих в запросе SQL с командами INSERT, UPDATE, REPLACE или DELETE. Функция не работает с запросами, основанными на команде SELECT. Синтаксис функции: int mysql_affected_rows ([int идентификатор_соединения]) Если не указывается параметр идентификатор_соединения функция пытается использовать последнее открытое соединение. Пример использования функции: Соколова В. В. Лаб № 6

Функция, необходимая для получения набора данных 8. n n n n Функция mysql_result( ) Функция, необходимая для получения набора данных 8. n n n n Функция mysql_result( ) используется в сочетании с mysql_query( ) (при выполнении запроса с командой SELECT) для получения набора данных. Функция mysql_result( ) удобна для работы с относительно небольшими наборами данных. Синтаксис функции: int mysql_result (int идентификатор_результата, int запись ['поле']) В параметре идентификатор_результата передается значение, возвращенное функцией mysql_query( ). Параметр запись ссылается на определенную запись набора данных, определяемого параметром идентификатор_результата. В необязательном параметре поле могут передаваться: смещение поля в таблице, имя поля в формате имя_поля_имя_таблицы. Соколова В. В. Лаб № 6

Функция, необходимая для получения набора данных n Пример выборки и форматирования данных в базе Функция, необходимая для получения набора данных n Пример выборки и форматирования данных в базе данных My. SQL: n"; print "nProduct IDProduct NameProduct Pricenn"; while ($x < mysql_numrows($result)) : $id = mysql_result($result , $x, 'prod_id'); $name = mysql_result($result, $x, 'prod_name'); $price = mysql_result($result , $x, 'prod_price'); print "n"; print "$idn$namen$pricen"; print "n"; $x++; endwhile; print ""; mysql_close(); ? > Соколова В. В. Лаб № 6

Функции, необходимые для получения набора данных 9. n n 10. n n n 9. Функции, необходимые для получения набора данных 9. n n 10. n n n 9. 10. 11. Функция mysql_fetch_row( ) используется для присвоения значения всех полей записи элементам индексируемого массива (начиная с индекса 0). Синтаксис функции: array mysql_fetch_row (int результат) Использование функции list( ) в сочетании с mysql_fetch_row( ) позволяет сэкономить несколько команд, необходимых при многократном использовании mysql_result( ) для получения отдельных полей. Функция mysql_fetch_array( ) аналогична mysql_fetch_row( ), однако по умолчанию значения полей записи сохраняются в ассоциативном массиве. Синтаксис функции: array mysql_fetch_array (int идентификатор результата [, тип_индексации]) В параметре идентификатор_результата передается значение, возвращенное функцией mysql_query( ). Необязательный параметр тип_индексации принимает одно из следующих значений: MYSQL_ASSOC – функция mysql_fetch_array( ) возвращает ассоциативный массив (если параметр не указан, это значение используется по умолчанию); MYSQL_NUM – функция mysql_fetch_array( ) возвращает массив с числовой индексацией; MYSQL_BOTH – к полям возвращаемой записи можно обращаться как по числовым, так и по ассоциативным индексам. Соколова В. В. Лаб № 6

Функция, необходимая для получения набора данных n Пример выборки данных функцией mysql_fetch_row( ): <? Функция, необходимая для получения набора данных n Пример выборки данных функцией mysql_fetch_row( ): n"; print "nProduct IDProduct Name Product Pricenn"; while ($row = mysql_fetch_array($result)): print "n": print "". $row["prod_id"]. "n". $row["prod_name"]. "n". $row["prod_price"]. "n"; print "n"; endwhile; print ""; mysql_close(); ? > Соколова В. В. Лаб № 6

Функция, необходимая для получения набора данных n Пример выборки данных функцией mysql_fetch_array( ): <? Функция, необходимая для получения набора данных n Пример выборки данных функцией mysql_fetch_array( ): n"; print "nProduct ID Product Name Product Pricenn"; while ($row = mysql_fetch_array($result)); print "n"; print "". $row["prod_id"]. "n". $row["prod_name"]. "n" . $row["prod_price"]. "n" ; print "n"; endwhile; print ""; mysql_close(); ? > Соколова В. В. Лаб № 6