Скачать 282.73 Kb.
|
MySQL и РНР§ 16 Создание простого сценария на PHP Для работы с MySQL используются различные языки программирования, в числе которых Perl, Java, C++, Python и др. Опишем взаимодействие СУБД MySQL (предпочитаемую многими хост-провайдерами) и языка PHP как наиболее популярного средства создания Интернет-приложений. Напомним, что Интернет работает по принципу «клиент-сервер». Клиент (обычно браузер) посылает запрос серверу, сервер обрабатывает запрос и посылает клиенту ответ. Запрашиваемый браузером URL может указывать на статическую html-страницу (в этом случае содержимое страницы отобразится на экране браузера) или на скрипт, т.е. специальную программу, которая выполняется на сервере и генерирует содержимое страницы, посылаемой обратно в браузер. Скрипту может быть передана некоторая информация, например, данные html-форм. Простой скрипт на языке РНР выглядит как html-документ со вставками кода, исполняемого на сервере. Для написания и отладки скриптов на локальном компьютере необходимо установить web-сервер Apache, а также сопутствующее ПО. Весьма удобно использовать систему «Денвер», которая включает в себя Apache, PHP, MySQL, Perl и другие средства, применяемые при разработке web-приложений. Базовый пакет «Денвера» можно скачать по адресу http://web.dklab.ru После запуска «Денвера» на компьютере создается виртуальный диск (обычно Z), содержащий каталоги etc, home, tmp, usr. В каталоге home следует создать новую папку, чье имя совпадает с именем будущего виртуального хоста, например myhost.ru (или myhost). В созданном каталоге необходимо поместить папку www, в которой и будут располагаться скрипты (сценарии). Для того чтобы создать новый виртуальный хост необходимо перезапустить «Денвер». Теперь обратиться к сценарию myscript.php, расположенному в папке Z:\home\myhost.ru\www можно из строки браузера следующим образом: http://myhost.ru/myscript.php Если скрипт имеет имя index.php, то он вызывается по умолчанию: http://myhost.ru/ Пусть на сервере уже существует база данных DB, содержащая таблицу tbl. Таблица tbl содержит два столбца: id_name (первичный ключ с атрибутом auto_increment) и name. Создадим сначала файл connect.php, который можно будет включать в любые РНР-сценарии для соединения с базой DB. Файл connect.php $hostname='имя_xocтa'; // создание переменной //$hostname $user='имя_пользователя'; // создание переменной // $user $pass='пароль'; // создание переменной // $pass $DBname='DB'; // создание переменной // $DBname $db_connection=mysql_connect($hostname,$user,$pass); // установление соединения с сервером MySQL mysql_select_db($DBname); // выбор базы данных ?> //конец кода php Переменные $hostname и $user хранят имя и пароль одного из пользователей, зарегистрированных в MySQL. В качестве имени хоста может указываться localhost. В переменной $db_connection хранится ссылка на созданное соединение. Большинство функций РНР для работы с MySQL принимают ее в качестве необязательного аргумента. Выполнение SQL-запросов к базе данных выполняется в php–сценариях следующим образом: $query='SQL-запрос'; $query_result=mysql_query($query); В переменной $query_result хранится ссылка на результат выполнения запроса, т. е. указатель на данные, возвращенные MySQL. Создадим сценарий index.php, который выводит html-форму, заносит в базу данных введенную в нее информацию и выводит содержимое базы в браузер. Файл index.php. php //Если форма отправлена, //обработать ее: if (isset($_POST['submit'])) { // подключить файл connect.php: include_once("connect.php"); $name=$_POST['name']; //«взять» в переменную $name //строку, переданную из //поля html-формы name //Создать запрос: $query="INSERT INTO tbl VALUES (NULL,'$name')"; // Выполнить запрос: $query_result=mysql_query (Squery); //выполнить самопереадресацию: Header("Location: {$_SERVER['SCRIPT_NAME']}?".time()); exit(); //вывести данные из таблицы DB в браузер $query_result=mysql_query('SELECT * FROM tbl'); while ($row=mysql_fetch_array($query_result)){ echo'name:'.$row[1].' \n'; } } else { //Если форма не отправлена, //вывести ее: для упрощения кода //выйти из режима интерпретатора РНР: ?> ?> Рассмотрим некоторые детали этого скрипта. Данные, переданные web-серверу с помощью html-формы методом POST, доступны в php-сценариях как элементы массива $_POST, например $_POST['submit']. Запрос INSERT INTO tbl VALUES (NULL,'$name') используется для вставки новой записи в таблицу. Применение NULL в данном случае повлечет за собой присвоение атрибуту id_name очередного порядкового номера. Самопереадресация (указание браузеру перейти заново к адресу текущего скрипта) после процедуры вставки данных необходима для того, чтобы при нажатии кнопки «обновить» в браузере только что добавленные данные не добавлялись в базу повторно. Функция mysql_fetch_array() возвращает по одной строке результат выборки данных в виде массива. Цикл while ($row=mysql_fetch_array($query_result)) выполняется до тех пор, пока есть еще данные. Элемент массива $row[1] является вторым (содержит значение name), т.к. нумерация элементов массива в РНР начинается с 0. Подробную информацию о программировании на РНР можно почерпнуть в [4]. ЛИТЕРАТУРА
|
C одержание Целью данной работы является описание конфигурирования, администрирования и программирования субд mysql и создание программы иллюстрирующей... |
Методические указания к лабораторным работам по курсу Сети ЭВМ и... Вы познакомились с принципами установки и настройки Web-сервера с поддержкой языка серверных сценариев php. В этой работе мы продолжим... |
||
Работа с субд mysql Учебное пособие по выполнению лабораторных работ О. Н. Лучко, профессор, зав кафедрой прикладной информатики и математики Омского государственного института сервиса |
1. Понятие субд. Основные категории субд. Архитектура ansi-sparc Субд — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием... |
||
Руководство пользователя по установке ap manager II Перед установкой ap manager II на компьютере должно быть установлено следующее программное обеспечение: Mysql serve 0 и Mysql odbc... |
Реферат объект исследования или разработки Санкт-Петербурга прикладных программ учета музейных ценностей. Исследована возможность перехода от программ, реализующих идеологию... |
||
Проблемы применения технологии cuda для улучшения времени выполнения... В данной статье приведено описание итогового sql-запроса, проблем с его производительностью в реляционных субд типа olap. Рассмотрены... |
Содержание Введение Глава Основные понятия бд и субд данные и ЭВМ Эти базы данных создаются и функционируют под управлением специальных программных комплексов, называемых системами управления базами... |
||
Литература: Дейт К. Введение в системы баз данных, 8-е издание. Вильямс, 2006 Субд; 3 оптимального доступа к данным с использованием субд. 4 нереляционная форма хранения данных. 5 Современные технологии доступа... |
Многокритериальный выбор оптимальной системы управления базы данных... Одной из главных проблем разработки приложения баз данных является выбор системы управления базами данных (далее субд). Выбранная... |
||
Инструментарий веб-разработчика: Apache, php, Mysql, phpMyAdmin Лабораторный... Инструментарий веб-разработчика: Apache, php, Mysql, phpMyAdmin: Лабораторный практикум по дисциплине «Сети ЭВМ и телекоммуникации»... |
Тестовые вопросы и задания по дисциплине «Разработка Web приложений... Тестовые вопросы и задания по дисциплине «Разработка Web – приложений с использованием php и Mysql» |
||
Тема : «Основы Mysql» Ожидание следующей строки, сбор строкового выражения, начинающегося с одиночной кавычки |
Инструкция по сжатию и восстановлению базы данных Access в связи... В связи с тем, что субд ms access не предназначена для обработки большого количества записей (до 12 000), рекомендуется регулярно,... |
||
Техническое описание и инстpукция по эксплуатации Техническое описание и инструкция по эксплуатации содержит технические данные, описание принципа действия и устройства, а также сведения,... |
Структура программы на pl/sql Он представляет собой расширение языка sql и предназначен для работы с субд oracle |
Поиск |