Виктор Гольцман - MySQL 5.0. Библиотека программиста
- Название:MySQL 5.0. Библиотека программиста
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Виктор Гольцман - MySQL 5.0. Библиотека программиста краткое содержание
Эта книга предназначена для всех, кто желает освоить СУБД MySQL. Для ее чтения вам не нужны никакие специальные знания – достаточно быть пользователем Windows. Вы узнаете, как установить и запустить MySQL, как создать собственную базу данных, как работать с данными при помощи команд SQL, как администрировать базу данных и оптимизировать ее работу. Разработчики веб-приложений на языках PHP, Perl и Java найдут в этой книге полезные сведения по использованию базы данных MySQL в соответствующих приложениях. Для всех операций, которые вам предстоит выполнить, приводятся подробные пошаговые инструкции, все основные действия поясняются на примере учебной базы данных.
MySQL 5.0. Библиотека программиста - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
$qresult = mysql_query(«INSERT INTO Customers
(name,phone,address)
VALUES
(\'».$name.»\',\'».$phone.»\',\'».$address.»\')»);после подстановки значений переменных $name, $phone и $address будет выглядеть следующим образом:
$qresult = mysql_query(«INSERT INTO Customers
(name,phone,address)
VALUES
(\'Иванов\',\'157400\',\'Москва, а/я 225\')»);Если команда INSERT была выполнена успешно, то сценарий save.php выведет на странице соответствующее сообщение (рис. 4.14).
Рис. 4.14.Результат сохранения данныхМы почти завершили создание приложения, которое записывает информацию в базу данных. Однако нужно сделать важное дополнение, связанное с некорректным сохранением значений, содержащих спецсимволы. Предположим, например, что пользователь вводит на веб-странице в поле Ваше имя значение д\'Артаньян. Тогда вызов PHP-функции
mysql_query(“INSERT INTO Customers (name,phone,address)
VALUES
(\'”.$name.”\',\'”.$phone.”\',\'”.$address.”\')”);приведет к попытке выполнения некорректной SQL-команды
INSERT INTO Customers
(name,phone,address)
VALUES (\'д\'Артаньян\',\'Телефон\',\'Адрес\');В результате произойдет ошибка и сохранить в базе введенные пользователем данные не удастся. Избежать этой ошибки можно с помощью функции
mysql_real_escape_string(«<���Строка>»[, <���Указатель на соединение>]);
Функция mysql_real_escape_string() экранирует строку, полученную в качестве аргумента, то есть перед каждым специальным символом в этой строке (например, перед одинарной кавычкой) помещает обратную косую черту. Например, если в качестве аргумента передана строка д\'Артаньян, то функция возвращает значение д\\'Артаньян. Таким образом, при вызове PHP-функции
mysql_query(“INSERT INTO Customers (name,phone,address)
VALUES
(\'”.mysql_real_escape_string($name).”\',
\'”.mysql_real_escape_string($phone).”\',
\'”.mysql_real_escape_string($address).”\')”);будет выполнена корректная SQL-команда
INSERT INTO Customers
(name,phone,address)
VALUES (\'д\\'Артаньян\',\'Телефон\',\'Адрес\');Кроме того, в ряде случаев функция mysql_real_escape_string() позволяет обезопасить PHP-приложение от SQL-инъекций, то есть предотвратить выполнение SQL-команд, которые недобросовестный пользователь может ввести в текстовые поля на веб-странице.
Исправим сценарий save.php, добавив вызов функции mysql_real_escape_string() (листинг 4.9).
Листинг 4.9.Сохранение данных в базеНа этом мы завершаем изучение PHP-функций, позволяющих организовать обмен данными с MySQL. В завершение кратко обобщим изложенные выше сведения.
Итоги
В разделе 4.1 «Интерфейс с PHP» вы познакомились с примерами PHP-приложений, использующих базу данных MySQL. Все они имеют сходную структуру:
• подключение к серверу MySQL;
• выбор базы данных;
• установка кодировки;
• выполнение SQL-команды (ввод, изменение или получение данных);
• обработка ошибки.
При этом мы рассмотрели только самые необходимые для взаимодействия с MySQL функции языка PHP. Полный список этих функций вы можете найти в Руководстве по PHP на странице http://www.php.net/manual/ru/ref.mysql.php.
В следующем разделе мы поговорим о том, как взаимодействуют с базой данных веб-приложения на языке Perl.
4.2. Интерфейс с Perl
В этом разделе мы рассмотрим процесс создания веб-приложения на языке Perl, выполняющего получение информации из базы данных и запись ее в базу.
Выбор платформы для развертывания Perl-приложения аналогичен выбору платформы для PHP-приложения: вы можете воспользоваться хостингом с поддержкой Perl и MySQL либо установить на своем компьютере веб-сервер Apache и интерпретатор языка Perl. При этом все замечания и рекомендации из подраздела «Выбор платформы» остаются в силе.
В последующих примерах мы будем использовать пакет XAMPP, установку которого мы описывали в подразделе «Установка пакета XAMPP». Кроме того, нам потребуются дополнительные модули Perl DBI (Database Interface – интерфейс к базе данных) и Perl CGI (Common Gateway Interface – стандартный интерфейс между сценарием и веб-сервером). Об их установке вы узнаете из следующего подраздела.
Установка дополнительных модулей Perl
Чтобы установить модули Perl DBI и Perl CGI, выполните следующие действия.
1. Скачайте дистрибутив пакета Perl Add-Ons. Для этого на веб-странице http://www.apachefriends.org/en/xampp-windows.html найдите раздел XAMPP for Windows Add-Ons и в подразделе Perl щелкните на ссылке Installer.
2. После загрузки файла xampp-win32-perl-addon-xxx-xxx-installer. exe запустите его, дважды щелкнув на его значке.
3. Выберите язык установки Russian (рис. 4.15) и нажмите кнопку OK.
Рис. 4.15.Выбор языка установки
4. В начальном окне мастера установки (рис. 4.16) нажмите кнопку Далее.
Рис. 4.16.Начальное окно мастера установки5. В окне выбора папки установки (рис. 4.17) по умолчанию предлагается корневая папка XAMPP. Ничего не меняя, нажмите кнопку Далее.
Рис. 4.17.Выбор папки установки6. После окончания установки нажмите кнопку Готово (рис. 4.18).
Рис. 4.18.Завершение установкиИтак, дополнительные модули Perl установлены. Теперь мы можем приступить к созданию приложений Perl.
Тестирование Perl
Чтобы проверить корректность функционирования интерпретатора Perl, создайте простейшее Perl-приложение. Для этого выполните следующие действия.
1. Запустите стандартную программу Windows Блокнот (Пуск → Все программы → Стандартные → Блокнот).
2. В окне программы Блокнот введите следующий код (рис. 4.19):#!»C:\Program Files\xampp\perl\bin\perl.exe»
print «Content-type: text/html; charset=windows-1251\n\n»;
print “Работа с MySQL”;
Рис. 4.19.Простейшее Perl-приложениеВнимание!
В первой строке любого сценария Perl после символов #! необходимо указать путь к интерпретатору Perl: «<���Путь к корневой папке XAMPP>\perl\bin\perl.exe». Вывод текста или HTML-кода нужно предварять строкой print «Content-type: text/html; charsert = windows-1251\n\n»;, которая указывает тип выводимой информации.
3. Для сохранения файла нажмите комбинацию клавиш Ctrl+S. В стандартном окне Windows Сохранить как откройте корневую папку XAMPP, а в ней – папку cgi-bin. Введите имя файла: test.pl и нажмите кнопку Сохранить.
4. Запустите Internet Explorer (Пуск → Все программы → Internet Explorer) или любой другой браузер. В адресной строке браузера введите следующий адрес: http:// localhost/cgi-bin/test.pl. Появление текста «Работа с MySQL» (рис. 4.20) на вебстранице означает, что Perl-приложения выполняются нормально.
Рис. 4.20.Результат выполнения приложения
Аналогичная последовательность действий используется для создания всех последующих сценариев Perl в данном разделе. Приступим к разработке приложения, взаимодействующего с базой данных MySQL.
Подключение к базе данных
Прежде чем использовать команду подключения к базе данных MySQL, укажем интерпретатору Perl, что необходимо использовать модуль Perl DBI. Для этого включим в сценарий командуuse DBI;
Для подключения к базе данных используется метод
Читать дальшеИнтервал:
Закладка: