undef в случае ошибки.
Примечание
Если SQL-команда была выполнена успешно, но не произвела действий с одной строкой, то метод do() возвращает значение E0E, которое рассматривается как числовое значение 0 и как логическое значение TRUE.
Единственным обязательным параметром метода do() является текст SQL-команды, которую необходимо выполнить. Например, установить кодировку можно следующим образом:
Совет
Установка кодировки перед началом работы с данными позволяет избежать некорректного отображения и сохранения в базе данных символов русского алфавита. Была выбрана кодировка Windows (CP-1251), так как именно в ней был создан сценарий input.pl.
Привязка параметров используется в случае, когда необходимо выполнить
Перед выполнением SQL-команды INSERT вместо знаков вопроса будут подставлены значения переменных $name, $phone и $address (неиспользуемому параметру было присвоено значение undef). При этом интерпретатор Perl автоматически вставляет кавычки там, где это необходимо, экранирует спецсимволы и т. п.
В качестве примера использования метода do() рассмотрим форму саморегистрации нового клиента, в которой клиент может ввести свое имя, телефон и адрес. Помимо метода do(), для создания такого приложения нам потребуется дополнительный модуль Perl CGI и функция param(), которая возвращает список значений, введенных пользователем в поля формы. Функция param() позволяет объединить вывод формы и обработку введенных данных в одном сценарии: если функция вернула непустое значение, значит, нужно обработать введенные пользователем данные, а если пустое – отобразить форму для ввода данных. Если же в качестве аргумента функции param() указывается имя поля формы, то функция вернет значение из этого поля.
Итак, в папке cgi-bin корневой папки XAMPP создайте файл input.pl, содержащий код, представленный в листинге 4.11.
Листинг 4.11. Ввод данныхДля запуска этого приложения наберите в адресной строке браузера адрес http://localhost/cgi-bin/input.pl. На экране появится веб-форма (рис. 4.22).
Введите в поля формы какие-либо значения и нажмите кнопку Отправить. Для обработки введенных данных вызовется тот же самый сценарий input.pl, однако на этот раз будет выполнена вторая часть сценария, следующая после ключевого слова else (см. листинг 4.11). Эта часть сценария выполняет SQL-команду INSERT. Если команда была выполнена успешно, вы увидите на странице следующее сообщение (рис. 4.23).