- •1. Основы
- •1.2 Идентификаторы ресурсов
- •2.1.1 Простейшая программа на языке html
- •2.1.2 Тэговая модель документа.
- •2.2.3 Комментарии
- •2.2.4 Тэги тела документа
- •2.2.6 Центрирование элементов документа
- •2.2.9 Ссылки в html-документе
- •2.2.10 Изображения внутри html-документа
- •2.2.11 Создание карты изображений
- •2.2.12 Фоновые рисунки
- •2.2.13 Горизонтальная линия
- •2.2.14 Добавление стилей в html-документ
- •2.3.2 Синтаксис
- •2.3.3 Тэги Формы
- •2.3.4 Меню выбора в формах
- •2.4.2 Основные атрибуты таблицы
- •3.2Синтаксис и элементы css
- •3.2.1 Добавление стилей css в html-документ
- •3.2.2 Группирование
- •3.2.3 Наследование
- •3.2.4 Селекторы
- •3.2.5 Классы
- •3.2.6 Идентификаторы
- •I {text-decoration:line-through;}
- •Http://css.Find-info.Ru/css/003/css.Htm - ogl
- •Http://css.Find-info.Ru/css/003/css.Htm - ogl
- •4. Язык JavaScript
- •4.2 Синтаксис JavaScript
- •4.2.1 Типы данных
- •Преобразование типов данных
- •4.2.2 Переменные и константы
- •4.2.3 Идентификаторы
- •4.2.4 Область действия переменных
- •4.2.5 Комментарии
- •4.3.1 Оператор for...In
- •4.3.2 Оператор new
- •4.3.3 Ключевое слово this
- •4.3.4 Оператор with
- •4.4.1 Объекты и Свойства
- •4.4.2 Функции и Методы
- •4.4.3 Определение методов
- •4.4.4 Создание Новых Объектов
- •4.4.5 Определение методов
- •4.5 Использование Встроенных Объектов и Функций
- •4.5.1 Объект Date
- •4.5.2 Объект Array
- •4.5.3 Объект String
- •4.5.4 Объект Math
- •4.6.1 Объект window
- •4.6.2 Объект document
- •4.6.3 Коллекции объекта document
- •4.6.4 Объект event
- •4.6.5 Объект history
- •4.6.6 Объект location
- •4.6.7 Объект navigator
- •5.1.2 Некоторые преимущества рнр
- •5.1.3 Вставка в html
- •5.1.5 Комментарии
- •5.1.6 Идентификаторы
- •5.1.7 Переменные, объявляемые пользователем
- •5.1.8 Типы переменных
- •5.1.9 Приведение типов
- •5.1.10 Переменные переменных
- •5.1.11 Константы
- •5.1.12 Знаки операций
- •5.1.13 Функции
- •5.2 Поддержка баз данных в рнр
- •Int mysql_affected_rows ([resource идентификатор_соединения])
- •Int mysql_num_rows(resource результат)
- •5.3 Отслеживание сеанса
- •If (! sessionjs_registered('hits')) :
- •Void session_set_save_handler (string open, string close, string read, string write, string destroy, string go)
- •Ip char(30) not null,
- •Include("init.Inc ");
- •Include("init.Inc");
- •ViewStats( );
- •5.4 Объектно-ориентированные возможности рнр
- •Is_subclass_of( )
5.2 Поддержка баз данных в рнр
Одним из самых важных аспектов РНР является поддержка баз данных. В РНР реализована обширная поддержка практически всех существующих серверов баз данных, в том числе:
Таблица 5.8
Adabas D |
Informix |
PostgreSQL |
Dbase |
Ingres |
Solid |
Direct MS-SQL |
InterBase |
Sybase |
Empress |
mSQL |
UNIX dbm |
Oracle |
MySQL |
Velods |
FrontBase |
ODBC |
IBM DB2 |
Как показывает этот список, поддержка баз данных в РНР простирается от совместимости с базами данных, известных всем (например, Oracle), до тех, о которых многие даже не слышали. Поддержка базы данных в РНР представлена набором стандартных функций для соединения с базой, обработки запросов и разрыва связи.
Рассмотрим возможности на базе MySQL. Сервер MySQL дает неплохое представление об общих возможностях поддержки баз данных в РНР. MySQL
Стандартные функции РНР для работы с MySQL
Представим стандартные функции РНР, при помощи которых можно легко организовать взаимодействие сценариев РНР с сервером MySQL. Общая последовательность действий при взаимодействии с сервером MySQL выглядит так:
Установить соединение с сервером MySQL. Если попытка завершается неудачей, вывести соответствующее сообщение и завершить процесс.
Выбрать базу данных сервера MySQL. Если попытка выбора завершается неудачей, вывести соответствующее сообщение и завершить процесс. Допускается одновременное открытие нескольких баз данных для обработки запросов.
Обработать запросы к выбранной базе (или базам).
После завершения обработки запросов закрыть соединение с сервером баз данных.
В примерах этого раздела используются таблицы products, customers и orders (см. рисунок 5.1).
Рисунок 5.1
Подключение к серверу MySQL.
mysql_connect()
Функция mysql_connect( ) устанавливает связь с сервером MySQL После успешного подключения к MySQL можно переходить к выбору баз данных, обслуживаемых этим сервером. Синтаксис функции mysql_connect( ):
resource mysql_connect ([string хост [:порт] [:/путь//к/сокету] [, string имя пользователя] [, string пароль])
Возвращает: Правильный идентификатор связи MySQL при успешном выполнении, или false при ошибке.
В параметре хост передается имя хостового компьютера, указанное в таблицах привилегий сервера MySQL. Наряду с именем хоста могут указываться необязательные параметры — номер порта, а также путь к сокету (для локального хоста). Параметры имя_пользователя и пароль должны соответствовать имени пользователя и паролю, заданным в таблицах привилегий MySQL. Обратите внимание: все параметры являются необязательными, поскольку таблицы привилегий можно настроить таким образом, чтобы они допускали соединение без проверки. Если параметр хост не задан, mysql_connect( ) пытается установить связь с локальным хостом.
Пример открытия соединения с MySQL:
@mysql_connect(" local host", "web", "4tf9zzzf") or die("Could not connect to MySQL server!");
Значение, возвращаемое при вызове mysql_connect(), в данном примере не используется. Если в программе используется всего одно соединение с сервером MySQL, это вполне нормально. Но если программа устанавливает соединения с несколькими серверами MySQL на разных хостах, следует сохранить идентификатор соединения, возвращаемый при вызове mysql_connect(), чтобы адресовать последующие команды нужному серверу MySQL. Пример:
<?
$link1 = @mysql_connect("www.somehost.com", "web", "abcde") or die("Could not connect to MySQL server!");
$linkl = @mysql_connect("www.someotherhost.com", "usr", "secret") or die("Could not connect to MySQL server!");
?>
Идентификаторы $link1 и $link2 передаются при последующих обращениях к базам данных с запросами.
Функция mysql_pconnect( ) обеспечивает поддержку восстанавливаемых (persistent) соединений. В многопользовательских средах рекомендуется использовать mysql_pconnect( ) вместо mysql_connect( ) для экономии системных ресурсов. По типам параметров и возвращаемого значения функция mysql_pconnect( ) в точности совпадает c mysql_connect( ).
mysql_select_db( )
После успешного соединения с MySQL необходимо выбрать базу данных, находящуюся на сервере. Для этого используется функция mysql_select_db( ). Синтаксис функции mysql_select_db( ):
bool mysql_select_db (string имя_базы_данных [,resource идентификатор_соединения])
Возвращает: true при успешном выполнении , false при ошибке
Параметр имя_базы_данных определяет выбираемую базу данных, идентификатор, которой возвращается функцией mysql_select_db( ). Обратите внимание: параметр идентификатор_соединения необязателен лишь при одном открытом соединении с сервером MySQL. При наличии нескольких открытых соединений, этот параметр должен указываться. Пример выбора базы данных функцией mysql_select_db( ):
<?
@mysql_connect("localhost", "web". "4tf9zzzf") or die("Could not connect to MySQL server!");
@mysql_select_db("company") or die("Could not select company database!");
?>
mysql_close( )
После завершения работы с сервером MySQL соединение необходимо закрыть. Функция mysql_close( ) закрывает соединение, определяемое необязательным параметром. Если параметр не задан, функция mysql_close( ) закрывает последнее открытое соединение. Синтаксис функции mysql_close( ):
bool mysql_close ([resource идентификатор_соединения])
mysql_query( )
Функция mysql_query( ) обеспечивает интерфейс для обращения с запросами к базам
данных. Синтаксис функции mysql_query( ):
resource mysql_query (string запрос [,resource идентификатор_соединения])
Параметр «Запрос» содержит текст запроса на языке SQL. «Запрос» передается либо соединению, определяемому необязательным параметром идентификатор_соедине-ния, либо, при отсутствии параметра, последнему открытому соединению.
Если замечено, что при обработке запросов расходуется слишком много памя-ти, необходимо вызвать стандартную функцию РНР mysql_free_result. При вызове ей передается идентификатор результата, возвращаемый mysql_query( ). Функция mysql_free_result( ) освобождает всю память, связанную с данным запросом.
Mysql_affected_rows ( )
Во многих ситуациях требуется узнать количество записей, участвующих в запросе SQL с командами INSERT, UPDATE, REPLACE или DELETE. Задача решается функцией mysql_affected_rows( ). Синтаксис функции: