![]() |
***
Журнал WEB Star #5 *** Programming
|
||||||||||||||||
Вступление в PHP и MySQL Вадим Ткаченко
(vvtk@stealthcomp.com) Источники
информации. Что
такое PHP? <html> После выполнения этого скрипта мы получим страничку, в которой будет написано Hi, I'm a PHP script! Весьма просто и бесполезно. Основное отличие от CGI-скриптов, написанных на других языках, типа Perl или C это то, что в CGI-программах вы сами пишете выводимый HTML-код, а, используя PHP вы встраиваете свою программу в готовую HTML-страницу, используя открывающий и закрывающий теги (в примере <?php и ?>). Отличие PHP от JavaScript, состоит в том, что PHP-скрипт выполняется на сервере, а клиенту передается результат работы, тогда как в JavaScript-код полностью передается на клиентскую машину и только там выполняется. Любители Internet Information Server найдут, что PHP очень похож на Active Server Pages (ASP), а энтузиасты Java скажут, что PHP похож на Java Server Pages (JSP). Все три языка позволяют размещать код, выполняемый на Web-сервере, внутри HTML страниц.
Возможности PHP. В нескольких словах на PHP можно сделать все, что можно сделать с помощью CGIvпрограмм. Например: обрабатывать данные из форм, генерировать динамические страницы, получать и посылать куки (cookies). Кроме этого в PHP включена поддержка многих баз данных (databases), что делает написание Web-приложений с использованием БД до невозможности простым. Вот неполный перечень поддерживаемых БД:
Вдобавок ко всему PHP понимает протоколы IMAP, SNMP, NNTP, POP3 и даже HTTP, а также имеет возможность работать с сокетами (sockets) и общаться по другим протоколам.
Краткая
история PHP. Почему
нужно выбирать PHP Синтаксис PHP очень похож на синтаксис C или Perl. Люди, знакомые с программированием, очень быстро смогут начать писать программы на PHP. В этом языке нет строгой типизации данных и нет необходимости в действиях по выделению/освобождению памяти. Программы, написанные на PHP, достаточно легкочитаемы. Написанный PHP v код легко зрительно прочитать и понять, в отличие от Perl-программ. Недостатки
PHP Что
такое MySQL. MySQL был разработан компанией TcX для внутренних нужд, которые заключались в быстрой обработке очень больших баз данных. Компания утверждает, что использует MySQL с 1996 года на сервере с более чем 40 БД, которые содержат 10,000 таблиц, из которых более чем 500 имеют более 7 миллионов строк. MySQL является идеальным решением для малых и средних приложений. Исходники сервера компилируются на множестве платформ. Наиболее полно возможности сервера проявляются на Unix-серверах, где есть поддержка многопоточности, что дает значительный прирост производительности. На текущий момент MySQL все еще в стадии разработки, хотя версии 3.22 полностью работоспособны. MySQL-сервер является бесплатным для некоммерческого использования. Иначе необходимо приобретение лицензии, стоимость которой составляет 190 EUR. Возможности
MySQL. Краткий перечень возможностей MySQL. Поддерживается
неограниченное количество пользователей, одновременно работающих с базой
данных. Поддержка
вложенных запросов, типа SELECT * FROM table1 WHERE id IN (SELECT id
FROM table2). Утверждается, что такая возможность будет в версии 3.23.
Примеры использования PHP Работа
с формами. Создадим простой HTML файл. <HTML> Назовем этот файл request.html. В нем мы указали, что данные формы будут обрабатываться файлом email.php3. Приведем его содержание: <? Теперь, если пользователь вызовет request.html и наберет в форме имя ?Вася¦, email: vasya@pupkin.com и скажет, что его интересуют ?Яблоки¦, а после этого нажмет "Отправить запрос!", то в ответ вызовется email.php3, который выведет на экран примерно следующее: Привет, Вася Спасибо за ваш интерес. Вас интересуют Яблоки. Информацию о них мы пошлем вам на email: vasya@pupkin.com Теперь мы должны сдержать обещание и выслать email. Для этого в PHP есть функция MAIL. Синтаксис: void mail(string to, string subject, string message, string add_headers); to email адрес получателя. subject тема письма. message собственно текст сообщения. add_headers другие параметры заголовка письма (необязательный параметр). Допишем в конец файла email.php3 следующий код: <? Вот теперь пользователь будет получать письмо с более подробной информацией о наших товарах. Также письмо получит и администратор сайта. Когда интересующихся нашими товарами станет очень много, мы захотим их как-то упорядочить и хранить информацию о них в базе данных. Об этом в следующем примере. Работа
с MySQL (сохранение данных в базе данных). >CREATE DATABASE products; >CREATE TABLE clients (name VARCHAR(25), email VARCHAR(25), choise VARCHAR(8)); Для общения с MySQL из PHP понадобятся следующие функции. int mysql_connect(string hostname, string username, string password); Создать соединение с MySQL. Параметры: Hostname имя хоста, на котором находится база данных. Username имя пользователя. Password пароль пользователя. Функция возвращает параметр типа int, который больше 0, если соединение прошло успешно, и равен 0 в противном случае. int mysql_select_db(string database_name, int link_identifier); Выбрать базу данных для работы. Параметры: Database_name имя базы данных. link_identifier ID соединения, которое получено в функции mysql_connect. (параметр необязательный, если он не указывается, то используется ID от последнего вызова mysql_connect) Функция возвращает значение true или false int mysql_query(string query, int link_identifier); Функция выполняет запрос к базе данных. Параметры: Query строка, содержащая запрос link_identifier см. предыдущую функцию. Функция возвращает ID результата или 0, если произошла ошибка. int mysql_close(int link_identifier); Функция закрывает соединение с MySQL. Параметры: link_identifier см. выше. Функция возвращает значение true или false Теперь наш файл email.php3 будет иметь след. вид: <? /* Некоторые переменные */ $hostname
= "localhost"; /* Таблица
MySQL, в которой хранятся данные */ /* email
администратора */ /* создать
соединение */ @mysql_select_db("$dbName") or die("Не могу выбрать базу данных "); PRINT "<CENTER>"; /* Отправляем
email */ mail("administration@me.com", /* Вставить
информацию о клиенте в таблицу */ $result = MYSQL_QUERY($query); PRINT "Информация о вас занесена в базу данных."; /* Закрыть
соединение */ Вот так легко можно работать с базой данных в PHP. Теперь кроме письменных уведомлений, информация о клиенте и его интересах будет заносится в таблицу MySQL. Работа
с MySQL (получение данных из базы данных). Напишем скрипт apple.php3 <?/*
Скрипт показывает клиентов, которые яблоки любят больше чем апельсины
*/ /* Таблица
MySQL, в которой хранятся данные */ /* создать
соединение */ @mysql_select_db("$dbName") or die("Не могу выбрать базу данных "); /* Выбрать
всех клиентов - яблочников */ $result = MYSQL_QUERY($query); /* Как
много нашлось таких */ /* Напечатать
всех в красивом виде*/ IF ($number
== 0) { Здесь мы использовали две новых функции: int mysql_num_rows(int result); Функция возвращает количество строк в результате запроса. Параметр result содержит ID результата запроса. int mysql_result(int result, int i, column); Функция возвращает значение поля в столбце column и в строке i. Вот и все, коммерческий продукт практически готов. Все вопросы и замечания по данной статье присылайте на E-mail: vvtk@stealthcomp.com |
||||||||||||||||
-=:
Тех. поддержка
|
Warning :=- |
Notes
|
![]() © Все права защищены. |
![]() |
Для
просмотра сайта рекомендуется: Разрешение: 800*600 Браузер: Internet Explorer 5.5 или выше Для более эффективного просмотра нажмите F11. |