
- •Введение.
- •Лекция 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
- •Заключение
Типыданных
PHPподдерживаетвосемьпростыхтиповданных.
Четырескалярныхтипа:
boolean(логический);
integer(целый);
float(сплавающейточкой);
string(строковый).
Двасмешанныхтипа:
array(массив);
object(объект).
Идваспециальныхтипа:
resource(ресурс);
NULL.
ВPHPнепринятоявноеобъявлениетиповпеременных.Предпочтительнее,чтобыэтоделалсаминтерпретаторвовремявыполненияпрограммывзависимостиотконтекста,вкоторомиспользуетсяпеременная.Рассмотримпопорядкувсеперечисленныетипыданных.
Типboolean(булевилилогическийтип)
Этотпростейшийтипвыражаетистинностьзначения,тоестьпеременнаяэтоготипаможетиметьтолькодвазначения–истинаTRUEилиложьFALSE.
Чтобыопределитьбулевтип,используютключевоесловоTRUEилиFALSE.Обарегистронезависимы.
<?php
$test=True;
?>
Пример2.5.Логическийтип
Логическиепеременныеиспользуютсявразличныхуправляющихконструкциях(циклах,условияхит.п.,болееподробноречьонихпойдетводнойизследующихлекций).Иметьлогическийтип,т.е.приниматьтолькодвазначения,истинуилиложь,могуттакжеинекоторыеоператоры(например,операторравенства).Онитакжеиспользуютсявуправляющихконструкцияхдляпроверкикаких-либоусловий.Например,вусловнойконструкциипроверяетсяистинностьзначенияоператораилипеременнойивзависимостиотрезультатапроверкивыполняютсятеилииныедействия.Здесьусловиеможетбытьистинноилиложно,чтокакразиотражаетпеременнаяиоператорлогическоготипа.
<?php
//Оператор'=='проверяетравенство
//ивозвращает
//булевозначение
if($know==False){//если$know
//имеетзначение
//false
echo"ИзучайPHP!";
}
if(!$know){//тожесамое,что
//ивыше,т.е.проверка
//имеетли$knowзначение
//false
echo"ИзучайPHP!";
}
/*оператор==проверяет,совпадаетли
значениепеременной$knowсострокой
"ИзучайPHP".Еслисовпадает,то
возвращаетtrue,иначе–false.
Есливозвращеноtrue,товыполняется
то,чтовнутрифигурныхскобок*/
if($know=="ИзучайPHP")
{echo"Начализучать";}
?>
Пример2.6.Использованиелогическоготипа
Типinteger(целые)
ЭтоттипзадаетчислоизмножествацелыхчиселZ={...,-2,-1,0,1,2,...}.Целыемогутбытьуказанывдесятичной,шестнадцатеричнойиливосьмеричнойсистемесчисления,пожеланиюспредшествующимзнаком"-"или"+".
Есливыиспользуетевосьмеричнуюсистемусчисления,выдолжныпредваритьчисло0(нулем),дляиспользованияшестнадцатеричнойсистемынужнопоставитьпередчислом0x.
<?php
#десятичноечисло
$a=1234;
#отрицательноечисло
$a=-123;
#восьмеричноечисло(эквивалентно
#83вдесятичнойсистеме)
$a=0123;
#шестнадцатеричноечисло(эквивалентно
#26вдесятичнойсистеме)
$a=0x1A;
?>
Размерцелогозависитотплатформы,хотя,какправило,максимальноезначениеоколодвухмиллиардов(это32-битноезнаковое).БеззнаковыецелыеPHPнеподдерживает.
Есливыопределитечисло,превышающеепределыцелоготипа,онобудетинтерпретированокакчислосплавающейточкой.Такжеесливыиспользуетеоператор,результатомработыкоторогобудетчисло,превышающеепределыцелого,вместонегобудетвозвращеночислосплавающейточкой.
ВPHPнесуществуетоператораделенияцелых.Результатом1/2будетчислосплавающейточкой0.5.Выможетепривестизначениекцелому,чтовсегдаокругляетеговменьшуюсторону,либоиспользоватьфункциюround(),округляющуюзначениепостандартнымправилам.Дляпреобразованияпеременнойкконкретномутипунужнопередпеременнойуказатьвскобкахнужныйтип.Например,дляпреобразованияпеременной$a=0.5кцеломутипунеобходимонаписать(integer)(0.5)или(integer)$aилииспользоватьсокращеннуюзапись(int)(0.5).Возможностьявногоприведениятиповпотакомупринципусуществуетдлявсехтиповданных(конечно,невсегдазначениеодноготипаможноперевестивдругойтип).Мынебудемуглублятьсявовсетонкостиприведениятипов,посколькуPHPделаетэтоавтоматическивзависимостиотконтекста.