Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
voprosy_k_ekzamenu_c_otvetami.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
418.93 Кб
Скачать
  1. Использование баз данных MySql в Web-приложениях: создание базы данных, общая последовательность действий при работе с сервером MySql, основные функции php для работы с базой данных.

Для создания и администрирования СУБД MySQL используется phpMyAdmin - Web-приложение с открытым кодом, написанное на языке PHP и представляющее собой Web-интерфейс для администрирования. Для его вызова нужно набрать в адресной строке браузера localhost/phpmyadmin.

Разработка Web-интерфейса для просмотра и редактирования базы данных MySQL осуществляется путем использования стандартных функций PHP.

Общая последовательность действий при взаимодействии с сервером MySQL является следующей:

  1. Установить соединение с сервером MySQL. Если попытка завершается неудачей, вывести соответствующее сообщение и завершить процесс.

  2. Выбрать базу данных сервера MySQL. Если попытка выбора завершается неудачей, вывести соответствующее сообщение и завершить процесс. Допускается одновременное открытие нескольких баз данных для обработки запросов.

  3. Обработать запросы к выбранной базе (или базам).

  4. После завершения обработки запросов закрыть соединение с сервером баз данных.

Подключение к серверу MySQL

Функция mysql_connect устанавливает связь с сервером MySQL. Синтаксис функции:

mysql_connect ([хост [:порт] [,имя пользователя] [,пароль])

В параметре хост передается имя хостового компьютера. Наряду с именем хоста могут указываться необязательные параметры, например, номер порта. Параметры имя пользователя и пароль должны соответствовать имени пользователя и паролю, заданным в таблицах привилегий MySQL. Все параметры являются необязательными, поскольку таблицы привилегий можно настроить таким образом, чтобы они допускали соединение без проверки. Если параметр хост не задан, mysql_connect( ) пытается установить связь с локальным хостом.

Пример открытия соединения с MySQL:

@mysql_connect("localhost", "web", "4tf9zzzf") or die("Could not connect to MySQL server!");

В данном примере localhost — имя компьютера, web — имя пользователя, а 4tf9zzzf — пароль. Знак @ перед вызовом функции mysql_connect( ) подавляет все сообщения об ошибках, выдаваемые при неудачной попытке подключения, — они заменяются сообщением, указанным при вызове die( ).

Если программа устанавливает соединения с несколькими серверами MySQL на разных хостах, нужно сохранить идентификатор соединения, возвращаемый при вызове mysql_connect(), чтобы адресовать последующие команды нужному серверу MySQL.

Выбор базы данных сервера MySQL

После успешного соединения с MySQL необходимо выбрать базу данных, находящуюся на сервере. Для этого используется функция mysql_select_db. Синтаксис функции:

mysql_select_db (имя_базы_данных [,идентификатор_соединения])

Параметр имя_базы_данных определяет выбираемую базу данных, идентификатор которой возвращается функцией mysql_select_db. Параметр идентификатор_соединения необязателен лишь при одном открытом соединении с сервером MySQL. При наличии нескольких открытых соединений этот параметр должен указываться.

Выполнение запроса к базе данных

Функция mysql_query обеспечивает интерфейс для обращения с запросами к базам данных. Синтаксис функции:

mysql_query (запрос [,идентификатор_соединения])

Параметр запрос содержит текст запроса на языке SQL. Запрос передается либо соединению, определяемому необязательным параметром идентификатор_соединения, либо, при отсутствии параметра, последнему открытому соединению.

При успешном выполнении команды SQL SELECT функцией возвращается идентификатор результата, который впоследствии передается функции mysql_result для последующего форматирования и отображения результатов запроса. Если обработка запроса завершилась неудачей, функция возвращает FALSE.

Чтобы узнать количество записей, участвующих в запросе SQL с командами INSERT, UPDATE или DELETE используется функция mysql_affected_rows. Синтаксис функции:

mysql_affected_rows ([идентификатор_соединения])

Для определения количества записей, возвращенных при вызове SELECT, используется функция mysql_num_rows(результат).

Для получения набора данных в сочетании с функцией mysql_query используется функция mysql_result. Синтаксис функции:

mysql_result (идентификатор_результата, запись [, поле])

В параметре идентификатор_результата передается значение, возвращенное функцией mysql_query. Параметр запись ссылается на определенную запись набора данных, определяемого параметром идентификатор_результата. В необязательном параметре поле могут передаваться:

  • смещение поля в таблице;

  • имя поля.

Для работы с большими наборами могут использоваться функции mysql_fetch_row( ) и mysql_fetch_array( ).

Функция mysql_fetch_row( ) присваивает значения всех полей записи элементам индексируемого массива (начиная с индекса 0). Использование функции list( ) в сочетании с mysql_fetch_row( ) позволяет сэкономить несколько команд, необходимых при использовании mysql_result( ).

Синтаксис функции:

mysql_fetch_row (результат)

Функция mysql_fetch_array( ) аналогична mysql_fetch_row( ), однако по умолчанию значения полей записи сохраняются в ассоциативном массиве. Синтаксис функции:

mysql_fetch_array (идентификатор результата [, тип_индексации])

В параметре идентификатор_результата передается значение, возвращенное функцией mysql_query( ). Необязательный параметр тип_индексации принимает одно из следующих значений:

  • MYSQL_ASSOC — функция mysql_fetch_array( ) возвращает ассоциативный массив. Если параметр не указан, это значение используется по умолчанию;

  • MYSQL_NUM — функция mysql_fetch_array( ) возвращает массив с числовой индексацией;

  • MYSQL_BOTH — к полям возвращаемой записи можно обращаться как по числовым, так и по ассоциативным индексам.

Закрытие соединения с сервером MySQL

После завершения работы с сервером MySQL соединение необходимо закрыть. Функция mysql_close( ) закрывает соединение, определяемое необязательным параметром. Если параметр не задан, функция mysql_close( ) закрывает последнее открытое соединение. Синтаксис функции:

mysql_close ([идентификатор_соединения])

Пример использования mysql_close( ):

<?

@mysql_connect("localhost", "web", "4tf9zzzf")

or die("Could not connect to MySQL server!");

@mysql_select_db("company") or die("Could not select company database!");

print "You're connected to a MySQL database!";

mysql_close();

?>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]