
- •Введение.
- •Лекция 1. Введение в клиент-серверные субд.
- •Interbase sql Server. Общие сведения.
- •Платформы
- •Типы приложений
- •Файлы базы данных InterBase
- •Лекция 3. Триггеры и хранимые процедуры
- •Хранимые процедуры (Stored Procedures)
- •Терминаторы
- •Заголовок
- •Тело процедуры
- •Блок кода процедуры
- •Оператор присваивания
- •Условный оператор if… then … else
- •Оператор select
- •Цикл for select и suspend
- •Цикл while … do
- •Операторы insert, update, delete
- •Оператор execute procedure
- •Исключения
- •События и оператор post_event
- •Изменения и удаления хранимых процедур
- •Примеры создания и вызова хранимых процедур
- •Генераторы
- •Увеличение шага генератора
- •Триггеры
- •Переменные new и old
- •Реализация автоинкрементных ключевых полей
- •Лекция 4. Транзакции. Механизм транзакций
- •Атомарность (Atomicity)
- •Согласованность (Consistency)
- •Изолированность (Isolation)
- •Устойчивость (Durability)
- •Неявный и явный старт транзакций
- •Как транзакция работает
- •Уровни изолированности транзакций
- •Параметры транзакций
- •Компонентыдоступакданнымивизуальныекомпоненты МеханизмыдоступакБд
- •ПроблемырусскихбукввInterBase
- •Лекция5. Основы языка php. Функции php для работы с субд История php
- •Возможности php
- •Основнойсинтаксис
- •Разделениеинструкций
- •Комментарии
- •Переменные,константыиоператоры
- •Переменные
- •Константы
- •Операторы
- •Типыданных
- •Типboolean(булевилилогическийтип)
- •Типinteger(целые)
- •Типfloat(числасплавающейточкой)
- •Типstring(строки)
- •Одинарныекавычки
- •Двойныекавычки
- •Типarray(массив)
- •Определениеприпомощиarray()
- •Определениеспомощьюсинтаксисаквадратныхскобок
- •Типobject(объекты)
- •Типresource(ресурсы)
- •Решениезадачи
- •Построениеинтерфейсадлядобавленияинформации
- •Установкасоединения
- •Выборбазыданных
- •Получениеспискаполейтаблицы
- •Отображениеспискаполейвhtml-форму
- •Записьданныхвбазуданных
- •Отображениеданных,хранящихсявMySql
- •Заключение
Типfloat(числасплавающейточкой)
Числасплавающейточкой(онижечисладвойнойточностиилидействительныечисла)могутбытьопределеныприпомощилюбогоизследующихсинтаксисов:
<?php
$a=1.234;
$b=1.2e3;
$c=7E-10;
?>
Размерчисласплавающейточкойзависитотплатформы,хотямаксимум,какправило,~1.8e308сточностьюоколо14десятичныхцифр.
Типstring(строки)
Строка–этонаборсимволов.ВPHPсимвол–этотожесамое,чтобайт,этозначит,чтосуществуетровно256различныхсимволов.Этотакжеозначает,чтоPHPнеимеетвстроеннойподдержкиUnicode.ВPHPпрактическинесуществуетограниченийнаразмерстрок,поэтомунетабсолютноникакихпричинбеспокоитьсяобихдлине.
СтрокавPHPможетбытьопределенатремяразличнымиспособами:
спомощьюодинарныхкавычек;
спомощьюдвойныхкавычек;
heredoc-синтаксисом.
Одинарныекавычки
Простейшийспособопределитьстроку–этозаключитьееводинарныекавычки"'".Чтобыиспользоватьодинарнуюкавычкувнутристроки,какивомногихдругихязыках,переднейнеобходимопоставитьсимволобратнойкосойчерты"\",т.е.экранироватьее.Еслиобратнаякосаячертадолжнаидтипередодинарнойкавычкойлибобытьвконцестроки,необходимопродублироватьее"\\'".
Есливнутристроки,заключеннойводинарныекавычки,обратныйслэш"\"встречаетсяпередлюбымдругимсимволом(отличнымот"\"и"'"),тоонрассматриваетсякакобычныйсимволивыводится,какивсеостальные.Поэтомуобратнуюкосуючертунеобходимоэкранировать,толькоеслионанаходитсявконцестроки,передзакрывающейкавычкой.
ВPHPсуществуетрядкомбинацийсимволов,начинающихсяссимволаобратнойкосойчерты.Ихназываютуправляющимипоследовательностями,иониимеютспециальныезначения,окоторыхмырасскажемнемногопозднее.Таквот,вотличиеотдвухдругихсинтаксисов,переменныеиуправляющиепоследовательностидляспециальныхсимволов,встречающиесявстроках,заключенныхводинарныекавычки,необрабатываются.
<?php
echo'Такжевыможетевставлятьвстроки
символновойстрокитакимобразом,
посколькуэтонормально';
//Выведет:Чтобывывести'надо
//переднейпоставить\
echo'Чтобывывести\'надоперед'.
'нейпоставить\\';
//Выведет:ВыхотитеудалитьC:\*.*?
echo'ВыхотитеудалитьC:\\*.*?';
//Выведет:Этоневставит:\nновуюстроку
echo'Этоневставит:\nновуюстроку';
//Выведет:Переменные$expandтакже
//$eitherнеподставляются
echo'Переменные$expandтакже$either'.
'неподставляются';
?>
Пример2.7.Использованиеуправляющихпоследовательностей
Двойныекавычки
Еслистроказаключенавдвойныекавычки""",PHPраспознаетбольшееколичествоуправляющихпоследовательностейдляспециальныхсимволов.Некоторыеизнихприведенывтаблице2.7.
Таблица2.7.Управляющиепоследовательности |
|
Последовательность |
Значение |
\n |
Новаястрока(LFили0x0A(10)вASCII) |
\r |
Возвраткаретки(CRили0x0D(13)вASCII) |
\t |
Горизонтальнаятабуляция(HTили0x09(9)вASCII) |
\\ |
Обратнаякосаячерта |
\$ |
Знакдоллара |
\" |
Двойнаякавычка |
Повторяем,есливызахотитеэкранироватьлюбойдругойсимвол,обратнаякосаячертатакжебудетнапечатана!
Самымважнымсвойствомстроквдвойныхкавычкахявляетсяобработкапеременных.
Heredoc
Другойспособопределениястрок–этоиспользованиеheredoc-синтаксиса.Вэтомслучаестрокадолжнаначинатьсяссимвола<<<,послекоторогоидетидентификатор.Заканчиваетсястрокаэтимжеидентификатором.Закрывающийидентификатордолженначинатьсявпервомстолбцестроки.Крометого,идентификатордолженсоответствоватьтемжеправиламименования,чтоивсеостальныеметкивPHP:содержатьтолькобуквенно-цифровыесимволыизнакподчеркиванияиначинатьсянесцифрыилизнакаподчеркивания.
Heredoc-текстведетсебятакже,какистрокавдвойныхкавычках,приэтомихнеимея.Этоозначает,чтовамнетнеобходимостиэкранироватькавычкивheredoc,новыпо-прежнемуможетеиспользоватьперечисленныевышеуправляющиепоследовательности.Переменныевнутриheredocтожеобрабатываются.
<?php
$str=<<<EOD
Примерстроки,охватывающейнесколько
строчек,сиспользованием
heredoc-синтаксиса
EOD;
//Здесьидентификатор–EOD.Ниже
//идентификаторEOD
$name='Вася';
echo<<<EOD
Менязовут"$name".
EOD;
//этовыведет:Менязовут"Вася".
?>
Пример2.8.Использованиеheredoc-синтаксиса
Замечание:ПоддержкаheredocбыладобавленавPHP4.