собственный компьютер. При этом вам потребуется следующее программное обеспечение:
• программа, выполняющая функции веб-сервера (обычно это Apache);
• интерпретатор языка PHP;
• СУБД MySQL.
Все эти три программы являются свободно распространяемыми. В настоящее время разработано множество интегрированных пакетов, которые упрощают установку этих программ и автоматически выполняют их настройку для совместной работы. Перечень популярных интегрированных пакетов вы можете найти на странице http://ru.wikipedia.org/wiki/LAMP. Мы будем использовать пакет XAMPP, который дополнительно включает интерпретатор языка Perl. Скачать пакет XAMPP вы можете на сайте разработчика (http://www.apachefriends.org). В следующем подразделе мы рассмотрим установку пакета XAMPP.
Установка пакета XAMPP
Чтобы установить Windows-версию пакета XAMPP, включающего программы Apache, PHP, Perl и MySQL, выполните следующие действия.
1. Скачайте дистрибутив пакета. Для этого на веб-странице http://www.apachefriends.org/en/xampp-windows.html в разделе XAMPP Windows [Basic package] щелкните на ссылке Installer.
2. После загрузки файла xampp-win32-xxx-installer.exe запустите его, дважды щелкнув на его значке.
3. Выберите язык установки English (рис. 4.1). Нажмите кнопку OK.
Рис. 4.1. Выбор языка установки
4. В начальном окне мастера установки (рис. 4.2) нажмите кнопку Next (Далее).
Рис. 4.2. Начальное окно мастера установки5. Выберите папку, в которую будет установлен пакет (рис. 4.3). Эту папку мы будем в дальнейшем называть корневой папкой XAMPP. Затем нажмите кнопку Next (Далее).
Рис. 4.3. Выбор папки установки6. Установите флажки Install Apache as service (Установить Apache как сервис) и Install MySQL as service (Установить MySQL как сервис), чтобы эти программы запускались автоматически при загрузке Windows (рис 4.4). Для запуска установки пакета XAMPP нажмите кнопку Install (Установить).
Рис. 4.4. Выбор параметров установки7. После окончания установки нажмите кнопку Finish (Готово) (рис. 4.5).
Рис. 4.5 Завершение установки8. Если программа MySQL уже была установлена и запущена, мастер установки выдаст сообщение Port 3306 already in use! Installing MySQL service failed! (Порт 3306 уже используется! При установке сервиса MySQL произошла ошибка). В окне сообщения нажмите кнопку OK.
9. На экране появится сообщение Service installation finished! Hint: Use also the XAMPP Control Panel to manage services (Установка сервисов завершена. Совет: используйте панель управления XAMPP для администрирования сервисов). В окне сообщения нажмите кнопку OK.
10. Мастер установки предложит запустить панель управления XAMPP (рис. 4.6). Нажмите кнопку Да.
Рис. 4.6. Запуск панели управления XAMPPНа экране появится панель управления XAMPP, в которой вы можете останавливать и запускать сервисы, а также просматривать статус сервисов (рис. 4.7).
Рис. 4.7. Панель управления XAMPPИтак, вы установили пакет XAMPP и можете приступать к созданию PHP-приложений. Об этом и пойдет речь в следующем подразделе.
Тестирование PHP
Чтобы проверить корректность функционирования интерпретатора PHP, создадим простейшее PHP-приложение. Для этого выполните следующие действия.
1. Запустите стандартную программу Windows Блокнот (Пуск → Все программы → Стандартные → Блокнот).
2. Введите в окне программы Блокнот следующий код (рис. 4.8):3. Нажмите комбинацию клавиш Ctrl+S, чтобы сохранить файл. В стандартном окне Windows Сохранить как откройте корневую папку XAMPP, а в ней – папку htdocs. Введите имя файла: test.php и нажмите кнопку Сохранить.
4. Запустите Internet Explorer (Пуск → Все программы → Internet Explorer) или любой другой браузер. В адресной строке браузера введите следующий адрес: http://localhost/test.php. Вы увидите информацию об интерпретаторе PHP (рис. 4.9) и тем самым убедитесь, что PHP-приложения выполняются нормально.
Рис. 4.9. Результат выполнения приложенияАналогичная последовательность действий будет использоваться для создания всех PHP-приложений в данном разделе. Приступим к разработке приложения, взаимодействующего с базой данных MySQL.
Подготовительные действия
Прежде чем выполнять операции с данными в базе, необходимо сначала подключиться к работающему серверу MySQL. Подключение выполняется с помощью функцииЭта функция возвращает
В качестве примера рассмотрим PHP-приложение, которое выполняет подключение к серверу MySQL и выводит диагностическое сообщение. Создайте в папке htdocs корневой папки XAMPP файл output.php, содержащий следующий код (листинг 4.1).
Листинг 4.1. Подключение к серверу MySQLДля запуска этого приложения наберем в адресной строке браузера адрес http://localhost/output.php. При открытии этой страницы приложение осуществляет подключение к серверу с использованием имени пользователя username и паролем userpassword; возвращаемый функцией указатель на соединение сохраняется в переменной $connection. В случае успешного подключения на веб-странице появится соответствующее сообщение (рис. 4.10).
Если подключиться к серверу не удалось, на веб-странице появится сообщение «Ошибка доступа к базе данных». В этом случае необходимо убедиться, что сервер MySQL запущен (например, с помощью утилиты MySQL Administrator, см. главу 1), а также проверить правильность написания имени пользователя и пароля.
Рис. 4.10. Результат подключения к серверу MySQLСовет
В целях защиты от несанкционированного доступа при подключении к базе данных рекомендуется использовать не пользователя root, а специально созданного пользователя с минимально необходимыми правами доступа. О регистрации пользователей и настройке прав далее будет подробно написано.
Следующий шаг – выбор текущей базы данных с помощью функции
Примечани е
Для этой функции, а также для всех остальных функций, описанных далее в этом разделе, указатель на соединение является необязательным параметром. Если этот параметр не указан, то подразумевается последнее открытое соединение. Таким образом, если ваше приложение использует только одно соединение с базой данных, то указывать этот параметр нет необходимости.
Функция mysql_select_db() аналогична команде USE <Имя базы данных>, о которой было рассказано в разделе «Создание базы данных» главы 2. Добавьте в сценарий output.php вызов этой функции (листинг 4.2).
Листинг 4.2.
Выбор текущей базы данных