ПХП је скриптни језик опште намене отвореног кода, који се широко користи за креирање динамичких и интерактивних веб страница. ПХП може приступити великом броју система за управљање релационим базама података као нпр МИСКЛ, СКЛите , и ПостгреСКЛ . Тхе ПХП 5.1 верзија је понудила нову библиотеку апстракције везе са базом података, која је ПХП објекти података (ПДО).
Шта је ПДО?
ПДО се односи на ПХП објекат података , што је ПХП екстензија која дефинише лаган и конзистентан интерфејс за приступ бази података у ПХП-у. То је скуп ПХП екстензија које обезбеђују основну ПДО класу и драјвер специфичан за базу података. Сваки драјвер базе података може изложити карактеристике специфичне за базу података као редовну функцију проширења која имплементира ПДО интерфејс.
Напомена: Не можемо да извршимо било коју врсту функције базе података коришћењем самог ПДО екстензије. Да бисмо приступили серверу базе података, морамо користити ПДО драјвер специфичан за базу података.
ПДО се углавном фокусира на апстракцију приступа подацима, а не на апстракцију базе података. Обезбеђује слој апстракције приступа подацима , што значи да, без обзира на то коју базу података користимо, морамо да користимо исте функције које пружа та база података за издавање упита и преузимање података. ПДО не обезбеђује апстракцију података, јер не преписује СКЛ нити опонаша недостајуће карактеристике.
Предност ПДО
ПДО пружа различите начине рада са објектима и преузима припремљене исказе који знатно олакшавају рад. То је алатка за приступ бази података у ПХП-у преко које омогућавамо уједначен приступ више база података.
ПДО омогућава релативно беспрекорно пребацивање између различитих база података и платформи, што се лако може урадити променом низа везе. Не подржава синтаксе специфичне за базу података.
Постоје неке предности ПДО као што следи:
листа програма питхон
ПДО екстензија може приступити било којој бази података која је написана за ПДО драјвер. Постоји неколико ПДО драјвера који се користе за ФрееТДС, Мицрософт СКЛ Сервер, Сибасе, ИБМ ДБ2, Орацле Цалл Интерфаце, Фиребирд/Интербасе 6 , и ПостгреСКЛ базе података, између многих других.
Драјвери нису аутоматски доступни у сваком систему, тако да морамо да пронађемо доступне драјвере и додамо их када нам затребају.
Доступне су различите синтаксе за успостављање везе са базом података. Ове синтаксе зависе од специфичних база података. Док користите ПДО, операције морају бити умотане у блокове три/цатцх и користити технику изузетка.
Обично је потребно створити само једну везу, а ове везе се затварају програмирањем базе података да се постави као нулл.
ПДО дозвољава коришћење изузетака за руковање грешкама. Да би се произвео изузетак, ПДО се може приморати у одговарајући атрибут режима грешке.
Постоје три начина грешке, тј. Силент (Уобичајено), Упозорење , и Изузетак . Упозорење и Изузетак су кориснији у ДРИ програмирању.
ПДО редукује уобичајено коришћену операцију уметања и ажурирања базе података у процес у два корака, тј.
Припреми >> [Везивање] >> Изврши.
Овим методом можемо у потпуности искористити предности припремљених изјава ПДО-а, које штите од злонамерних напада путем СКЛ ињекције.
Припремљени изрази су унапред компајлирани СКЛ изрази који се могу извршити више пута слањем ових података на сервер. Ови подаци, који се користе унутар чувара места, аутоматски су заштићени од напада СКЛ ињекције.
Предности коришћења ПДО
ПДО је изворни драјвер базе података. Постоје неке предности коришћења ПДО које су наведене у наставку:
ПДО класе
Постоје три ПДО класе, које су дате у наставку:
Базе података које подржава ПДО
- МиСКЛ
- ПостгреСКЛ
- Орацле
- Фиребирд
- МС СКЛ Сервер
- Сибасе
- Информик
- ИБМ
- ФрееТДС
- СКЛите
- Цубрид
- 4Д
Поређење између ПДО и МиСКЛи
За приступ бази података користећи ПХП, имамо углавном две опције - МиСКЛи и ПДО (ПХП Дата Објецт). МиСКЛи је изворни за ПХП који обезбеђује брже перформансе, док већина искусних програмера радије ради са ПДО-ом јер подржава широк спектар драјвера базе података. Постоје неке разлике између ПДО и МиСКЛи наведених у наставку на основу њихових карактеристика.
Карактеристике | ПДО | МиСКЛи |
---|---|---|
ДБ Суппорт | 12 различитих возача | Само МиСКЛ |
Веза | Лако | Лако |
АПИ | ОПЕН | ООП + Процедура |
Перформансе | Фаст | Фаст |
Именовани параметар | да | Не |
Мапирање објеката | да | да |
Складиштена процедура | да | да |
Припремљене изјаве на страни клијента | да | Не |
Безбедност | Сигурнији од МиСКЛи. | Безбедно, али не више од ПДО. |
Шта би требало да буде преферирано између ПДО или МиСКЛи?
И ПДО и МиСКЛи имају своје предности:
- Као што смо раније видели да ПДО ради на 12 различитих система база података, док МиСКЛ може да ради само са МиСКЛ базом података. Дакле, ако желимо да пребацимо наш пројекат на другу базу података, ПДО то олакшава. У МиСКЛи, морамо да препишемо цео код.
- ПДО и МиСКЛи су објектно оријентисани, али МиСКЛи такође нуди процедурални АПИ. Оба подржавају припремљене изјаве. Припремљене изјаве су важне за безбедност веб апликација, јер штите од СКЛ ињекције.
Услов
Нема потребе за спољним библиотекама за прављење овог проширења.
Процес инсталације
Корак 1: Преузмите најновији КСАМПП сервер одавде хттпс://ввв.апацхефриендс.орг/довнлоад.хтмл за различите платформе као што су Виндовс, Линук и МацОС.
Напомена: Овде ћемо разговарати о процесу инсталације само за Виндовс ОС.
Корак 2: Инсталирајте КСАМПП сервер на свој систем пратећи ове кораке.
цхар у низ
Корак 3: Изаберите компоненте које желите да инсталирате и кликните на дугме Даље.
4. корак: Креирајте нову фасциклу са именом кампп на локацији на којој желите да инсталирате КСАМПП.
5. корак: Кликните на Следеће овде и идите напред. Инсталација КСАМПП сервера ће почети одавде.
напишите јсон у датотеку питхон
Корак 6: КСАМПП је успешно инсталиран. Кликните на дугме Заврши.
7. корак: Изаберите жељени језик.
Корак 8: Покрените Апацхе сервер и МиСКЛ одавде (према датом снимку екрана).
9. корак: Сада отворите пхп.ини из Ц:/кампп/пхп/пхп.ини (где сте инсталирали свој КСАМПП) и декоментирајте екстензију 'пхп_пдо_мискл.длл' и 'пхп_пдо.длл' (ако радите са МиСКЛ базом података), или 'пхп_пдо_оци.длл' (ако радите са Орацле базом података). Сада почните да радите са базом података. У горњој верзији ПХП 5.1 је већ подешен.
Рад са ПДО
Прво треба да креирамо базу података, па креирајте базу података под именом миДБ одавде.
Веза са базом података
За интеракцију са базом података увек је потребна веза са базом података. Дакле, морамо знати идентификатор за приступ бази података, односно локацију базе података, име базе података, корисничко име и лозинку.
Сада креирајте програм за повезивање базе података користећи ПДО у било ком уређивачу текста као што је нотепад или нотепад++ и сачувајте га под именом цоонецтион.пхп. Покрените га на КСАМПП серверу користећи лоцалхост/80.
Пример
getMessage(); } ?>
Излаз
Покрените га на серверу користећи следећи УРЛ лоцалхост/Ксампп/пдоекампле/цоннецтион.пхп/ или где сте сачували свој програм.
Руковање грешком везе
ПДОЕкцептион објекат ће бити избачен ако постоји грешка у вези. Можемо ухватити изузетак ако желимо да обрадимо услов грешке, или га такође можемо оставити глобалном руковаоцу изузетком који може да подеси сет_екцептион_хандлер() функција.
ек корисничког имена
Пример
У овом примеру, дбУсер(усер-ид) је погрешан, тако да ће избацити изузетак, као што можемо видети у излазу.
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Echo 'Successfully connected with myDB database'; } catch(Exception $e){ Echo 'Connection failed' . $e->getMessage(); } ?>
Затварање везе са базом података
getMessage(); } // this command close the connection. $dbConn = null; ?>
Излаз