Чтение онлайн

на главную - закладки

Жанры

MySQL 5.0. Библиотека программиста

Гольцман Виктор

Шрифт:

Аналогичная последовательность действий будет использоваться для создания всех PHP-приложений в данном разделе. Приступим к разработке приложения, взаимодействующего с базой данных MySQL.

Подготовительные действия

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

mysql_connect(«<Имя хоста>», «<Имя пользователя>»,»<Пароль>»);

Эта функция возвращает указатель на соединение либо значение FALSE, если соединение установить не удалось.

В качестве примера рассмотрим PHP-приложение, которое выполняет подключение к серверу MySQL и выводит диагностическое сообщение.

Создайте в папке htdocs корневой папки XAMPP файл output.php, содержащий следующий код (листинг 4.1).

Листинг 4.1. Подключение к серверу MySQL

<html>

<head>

<title>Работа с MySQL</title>

</head>

<body>

<h1>Подключение к базе данных</h1>

<?php

//Соединяемся с сервером MySQL

$connection = mysql_connect(«localhost»,»username»,»userpassword»);

if(!$connection) die(“Ошибка доступа к базе данных.

Приносим свои извинения”);

print(“Подключение выполнено успешно”);

?>

</body>

Для запуска этого приложения наберем в адресной строке браузера адресПри открытии этой страницы приложение осуществляет подключение к серверу с использованием имени пользователя username и паролем userpassword; возвращаемый функцией указатель на соединение сохраняется в переменной $connection. В случае успешного подключения на веб-странице появится соответствующее сообщение (рис. 4.10).

Если подключиться к серверу не удалось, на веб-странице появится сообщение «Ошибка доступа к базе данных». В этом случае необходимо убедиться, что сервер MySQL запущен (например, с помощью утилиты MySQL Administrator, см. главу 1), а также проверить правильность написания имени пользователя и пароля.

Рис. 4.10. Результат подключения к серверу MySQL

...

Совет

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

Следующий шаг – выбор текущей базы данных с помощью функции

mysql_select_db(«<Имя базы данных>»[, <Указатель на соединение>]);

...

Примечание

Для этой функции, а также для всех остальных функций, описанных далее в этом разделе, указатель на соединение является необязательным параметром. Если этот параметр не указан, то подразумевается последнее открытое соединение. Таким образом, если ваше приложение использует только одно соединение с базой данных, то указывать этот параметр нет необходимости.

Функция mysql_select_db аналогична команде USE <Имя базы данных>, о которой было рассказано в разделе «Создание базы данных» главы 2. Добавьте в сценарий output.php вызов этой функции (листинг 4.2).

Листинг 4.2.

Выбор текущей базы данных

<html>

<head>

<title>Работа с MySQL</title>

</head>

<body>

<h1>Подключение

к базе данных</h1>

<?php

//Соединяемся с сервером MySQL

$connection = mysql_connect(«localhost»,»username»,»userpassword»);

if(!$connection) die(“Ошибка доступа к базе данных.

Приносим свои извинения”);

//Выбираем базу данных SalesDept (Отдел продаж)

if(!mysql_select_db(«SalesDept»))

die(“База данных отсутствует. Приносим свои извинения”);

print(“База данных выбрана успешно”);

?>

</body>

После обновления страницывы увидите либо сообщение «Операция выполнена успешно», либо сообщение «База данных отсутствует. Приносим свои извинения». В последнем случае необходимо проверить, существует ли база данных с таким именем на сервере MySQL и есть ли у пользователя username право доступа к этой базе.

После подключения к серверу MySQL и выбора текущей базы данных можно приступать к работе с данными. В первую очередь необходимо установить кодировку, чтобы избежать проблем с отображением символов русского алфавита. Как мы знаем из главы 2, указать серверу кодировку, которую использует клиентское приложение, можно с помощью команды SET NAMES <Кодировка>;.

Файл output.php мы сохранили в кодировке Windows (CP-1251), поэтому именно ее и нужно установить.

Для отправки SQL-команды на сервер MySQL используется функция

mysql_query(«<Текст команды>»[, <Указатель на соединение>]);

Добавьте в сценарий output.php вызов этой функции (листинг 4.3). Листинг 4.3. Установка кодировки

<html>

<head>

<title>Работа с MySQL</title>

</head>

<body>

<h1>Подключение к базе данных</h1>

<?php

//Соединяемся с сервером MySQL

$connection = mysql_connect(«localhost»,»username»,»userpassword»);

if(!$connection) die(“Ошибка доступа к базе данных.

Приносим свои извинения”);

//Выбираем базу данных SalesDept (Отдел продаж)

if(!mysql_select_db(«SalesDept»))

die(“База данных отсутствует. Приносим свои извинения”);

//Устанавливаем кодировку CP-1251

mysql_query(“SET NAMES cp1251”);

print(“Операция выполнена успешно”);

?>

</body>

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

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

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

Как было упомянуто выше, для выполнения SQL-команды PHP-приложением предназначена функция

mysql_query(«<Текст команды>»[, <Указатель на соединение>])

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

Поделиться:
Популярные книги

Моя на одну ночь

Тоцка Тала
Любовные романы:
современные любовные романы
короткие любовные романы
5.50
рейтинг книги
Моя на одну ночь

Черный Маг Императора 8

Герда Александр
8. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 8

Измена. Отбор для предателя

Лаврова Алиса
1. Отбор для предателя
Фантастика:
фэнтези
5.00
рейтинг книги
Измена. Отбор для предателя

Кодекс Крови. Книга II

Борзых М.
2. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга II

Шаг в бездну

Муравьёв Константин Николаевич
3. Перешагнуть пропасть
Фантастика:
фэнтези
космическая фантастика
7.89
рейтинг книги
Шаг в бездну

Часовая битва

Щерба Наталья Васильевна
6. Часодеи
Детские:
детская фантастика
9.38
рейтинг книги
Часовая битва

Вечная Война. Книга II

Винокуров Юрий
2. Вечная война.
Фантастика:
юмористическая фантастика
космическая фантастика
8.37
рейтинг книги
Вечная Война. Книга II

Хроники странного королевства. Вторжение. (Дилогия)

Панкеева Оксана Петровна
110. В одном томе
Фантастика:
фэнтези
9.38
рейтинг книги
Хроники странного королевства. Вторжение. (Дилогия)

Часовой ключ

Щерба Наталья Васильевна
1. Часодеи
Фантастика:
фэнтези
9.36
рейтинг книги
Часовой ключ

Инвестиго, из медика в маги

Рэд Илья
1. Инвестиго
Фантастика:
фэнтези
городское фэнтези
попаданцы
5.00
рейтинг книги
Инвестиго, из медика в маги

Кротовский, может, хватит?

Парсиев Дмитрий
3. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
аниме
7.50
рейтинг книги
Кротовский, может, хватит?

Драконий подарок

Суббота Светлана
1. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
7.30
рейтинг книги
Драконий подарок

Очешуеть! Я - жена дракона?!

Амеличева Елена
Фантастика:
юмористическая фантастика
5.43
рейтинг книги
Очешуеть! Я - жена дракона?!

Идеальный мир для Лекаря 9

Сапфир Олег
9. Лекарь
Фантастика:
боевая фантастика
юмористическое фэнтези
6.00
рейтинг книги
Идеальный мир для Лекаря 9