Скачать презентацию Мировые информационные ресурсы Лекция 7 Поддержка баз данных Скачать презентацию Мировые информационные ресурсы Лекция 7 Поддержка баз данных

МИР_07_PHP_.ppt

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

Мировые информационные ресурсы Лекция 7. Поддержка баз данных в РНР Мировые информационные ресурсы Лекция 7. Поддержка баз данных в РНР

My. SQL — СУБД на базе SQL, разработанная и сопровождаемая фирмой Т. с. Х My. SQL — СУБД на базе SQL, разработанная и сопровождаемая фирмой Т. с. Х Data. Konsult. AB (Стокгольм, Швеция). My. SQL распространяется на условиях общей лицензии GNU (GPL, GNU Public License). Полное описание текущей лицензионной политики My. SQL приведено на сайте My. SQL (http: //www. mysql. com/). Настройка My. SQL - состоит из создания новых баз данных и редактирования таблиц привилегий, управляющих доступом к базам данных My. SQL. 2

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

Функция mysql_connect( ) - устанавливает связь с сервером My. SQL. Синтаксис: mysql_connect ([хост [: Функция mysql_connect( ) - устанавливает связь с сервером My. SQL. Синтаксис: mysql_connect ([хост [: порт] [: сокет] [, имя пользователя] [, пароль]) В параметре хост передается имя хостового компьютера, указанное в таблицах привилегий сервера My. SQL. Оно же используется для перенаправления запросов на web-сервер, на котором работает My. SQL, поскольку к серверу My. SQL можно подключаться в удаленном режиме. Если параметр хост не задан, mysql_connect( ) пытается установить связь с локальным хостом. 4

Функция mysql_connect( ) Пример: @mysql_connect( Функция mysql_connect( ) Пример: @mysql_connect(" localhost", "web", "4 tf 9 zzzf") or die("Could not connect to My. SQL server!"); Знак @ перед вызовом функции mysql_connect( ) подавляет все сообщения об ошибках, выдаваемые при неудачной попытке подключения, — они заменяются сообщением, указанным при вызове die( ). Значение, возвращаемое при вызове mysql_connect( ), не используется, если устанавливается всего одно соединение с сервером My. SQL. 5

Функция mysql_connect( ) Если программа устанавливает соединения с несколькими серверами My. SQL на разных Функция mysql_connect( ) Если программа устанавливает соединения с несколькими серверами My. SQL на разных хостах, следует сохранить идентификатор соединения, возвращаемый при вызове mysql_connect(), чтобы адресовать последующие команды нужному серверу My. SQL. Пример: $link 1 = @mysql_connect("www. somehost. com", "web", "abcde") or die("Could not connect to My. SQL server!"); $link 2 = @mysql_connect("www. someotherhost. com", "usr", "secret") or die("Could not connect to My. SQL server!"); // $link 1 и $link 2 - идентификаторы соединения. 6

Функция mysql_pconnect( ) обеспечивает поддержку восстанавливаемых (persistent) соединений. рекомендуется использовать в многопользовательских средах вместо Функция mysql_pconnect( ) обеспечивает поддержку восстанавливаемых (persistent) соединений. рекомендуется использовать в многопользовательских средах вместо mysql_connect( ) для экономии системных ресурсов. По типам параметров и возвращаемого значения функция mysql_pconnect( ) в точности совпадает c mysql_connect( ). 7

Функция mysql_select_db( ) - выбор базы данных, находящейся на сервере. Синтаксис: mysql_select_db (имя_базы_данных [, Функция mysql_select_db( ) - выбор базы данных, находящейся на сервере. Синтаксис: mysql_select_db (имя_базы_данных [, идентификатор_соединения]) Параметр имя_базы_данных идентификатор базы данных, возвращаемый функцией mysql_select_db( ). Параметр идентификатор_соединения обязателен при наличии нескольких открытых соединений с сервером My. SQL. 8

Функция mysql_select_db( ) Пример: <? @mysql_connect( Функция mysql_select_db( ) Пример: Если в программе выбирается только одна база данных, сохранять ее идентификатор не обязательно. При выборе нескольких баз данных возвращаемые идентификаторы сохраняются. Если идентификатор не указан, используется последняя выбранная база данных. 9

Функция mysql_close( ) - закрывает соединение, определяемое необязательным параметром идентификатор_соединения, после завершения работы с Функция mysql_close( ) - закрывает соединение, определяемое необязательным параметром идентификатор_соединения, после завершения работы с сервером My. SQL. Синтаксис: mysql_close ([идентификатор_соединения]) Если параметр не задан, функция mysql_close( ) закрывает последнее открытое соединение. В этом примере указывать идентификатор соединения не нужно, поскольку на момент вызова mysql_close( ) существует лишь одно открытое соединение с сервером. Соединения, открытые функцией mysql_pconnect( ), закрывать не обязательно. 10

Функция mysql_query( ) - обеспечивает интерфейс для обращения с запросами к базам данных. Синтаксис: Функция mysql_query( ) - обеспечивает интерфейс для обращения с запросами к базам данных. Синтаксис: mysql_query (запрос [, идентификатор_соединения]) Параметр запрос содержит текст запроса на языке SQL. Запрос передается либо соединению, определяемому необязательным параметром идентификатор_соединения, либо, при отсутствии параметра, последнему открытому соединению. При успешном выполнении команды SQL SELECT возвращается идентификатор результата, который впоследствии передается функции mysql_result( ) для последующего форматирования и отображения результатов запроса. Если обработка запроса завершилась неудачей, функция возвращает FALSE. 11 Количество записей, участвующих в запросе, определяется при помощи функции mysql_num_rows( ).

Функция mysql_free_result() - освобождает всю память, связанную с данным запросом. При вызове ей передается Функция mysql_free_result() - освобождает всю память, связанную с данным запросом. При вызове ей передается идентификатор результата, возвращаемый mysql_query( ). 12

Функция mysql_affected_rows() - возвращает количество записей, участвующих в запросе SQL с командами INSERT, UPDATE, Функция mysql_affected_rows() - возвращает количество записей, участвующих в запросе SQL с командами INSERT, UPDATE, REPLACE или DELETE. - не работает с запросами, основанными на команде SELECT. - при выполнении команды DELETE без секции WHERE mysql_affected_rows( ) всегда возвращает 0. Синтаксис: mysql_affected_rows ([идентификатор_соединения]) 13

Функция mysql_affected_rows() Пример: @mysql_connect( Функция mysql_affected_rows() Пример: @mysql_connect("localhost", "web", "4 tf 9 zzzf") or die ("Невозможно подключиться к серверу My. SQL!"); @mysql_select_db("company") or die ("Выбор базы данных company невозможен!"); $query = "UPDATE products SET prod_name = "pears" WHERE prod_id = '10021' "; $result = mysql_query($query); print "Total row updated: ". mysql_affected_rows( ); mysql_close( ); Результат: Total row updated: 1 14

Функция mysql_num_rows( ) - определяет количество записей, возвращаемых командой SELECT. Синтаксис: mysql_num_rows(результат) Пример: @mysql_connect( Функция mysql_num_rows( ) - определяет количество записей, возвращаемых командой SELECT. Синтаксис: mysql_num_rows(результат) Пример: @mysql_connect("localhost", "web", "4 tf 9 zzzf") or die("Невозможно подключиться к серверу My. SQL!"); @mysql_select_db("company") or die("Выбор базы данных company невозможен!"); $query = "SELECT prod_name FROM products WHERE prod_name LIKE "p*""; print "Total rows selected: ". mysql_num_rows($result); mysql_close( ); Результат: Total rows selected: 1 15

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

Функция mysql_result() <? @mysql_connect( Функция mysql_result() n"; print "