Достъпът до базата данни в PHP

Практическото използване на приложния програмен интерфейс на ЗНП да се работи с базата данни.

За да се свържете към база от данни, има три различни API:

  • MySQL
  • MySQLi - MySQL Подобрена (подобрена)
  • ЗНП - PHP Data Objects (PHP Data Objects)

Традиционен API MySQL добра работа и е широко разпространена, поради факта, че прави процеса на получаване на документите от база данни е много проста. Например:

Да, примерът е много проста. Но тя има значителни недостатъци:

  • Остаряла въпреки че официално не се счита за остаряла, но за нови приложения и обучение по-добре да се използва друг API.
  • Почистване: Процесът на почистване на входа потребител от ненужни Кодекса пада върху плещите на предприемача.
  • Гъвкавост: Този API е гъвкав и работи само с базата данни MySQL. И ако трябва да отидете на другия?

ЗНП (PHP Data Objects) осигурява мощен инструмент за използване. Не е необходимо да се мисли за шофьорите на база данни, можете да използвате готови отчети, изключва SQL инжектиране на код.

На пръв поглед това изглежда зловещо ЗНП API. Не защото е прекалено сложно, но тъй като MySQL е много лесно! Ти просто трябва да се направят няколко прости стъпки.

съединение

Вие вече знаете, на остарели начин за свързване с MySQL база данни:

Когато се работи с ЗНП да се създаде нова инстанция на класа, уточни водача, името на базата данни, потребителско име и парола:

Предимството на този подход е, лекотата на промени в базата данни. Достатъчно, за да промените името на източника на данни. Не зависимостта от MySQL като използване mysql_connect функция.

Но какво, ако възникне грешка при свързване с база данни? Увийте всичко в единица пробвам / улов:

Имайте предвид, че по подразбиране ЗНП е настроен да работи с грешки PDO :: ERRMODE_SILENT. Ако се остави без промяна, ще трябва ръчно да се справят с грешки, след изпълнението на заявката.

При разработването на по-добра задайте режима на ЗНП :: ERRMODE_EXCEPTION. в които сурово грешка ще предизвика изключение и го спре.

Следните режими на работа с грешки:

  • ЗНП :: ERRMODE_SILENT
  • ЗНП :: ERRMODE_WARNING
  • ЗНП :: ERRMODE_EXCEPTION

ние получаваме данни

Така че, ние имаме връзка с базата данни, а сега трябва да получите данни. Има два начина за решаване на проблема: заявка и изпълнява. Погледнете двете.

Въпреки че по-горе пример ще работи, ние трябва ръчно почистване на потребителски данни, като се използва методът на ЗНП :: цитат. Този метод е еквивалентен на mysql_real_escape_string функция (и в двата случая, линията се изчиства и затворени в кавички). В случаите, в които трябва да се изгради SQL заявка с данните на потребителя, най-добре е да използвате готови отчети. Това е, ако SQL заявката за не зависи от приноса на потребителите, начин на заявката е отличен избор, а резултатът може да се лекува с израз foreach.

Този пример също използва метод за подготовка за подготовка на поръчка, преди да поставите данните на потребителя. В този случай, SQL инжекция е теоретично невъзможно, тъй като самите данни не се вмъква в текста на SQL заявка. Използването на име параметър (: идентификатор) за отбелязване на мястото.

След това, искането за трансфер на масива, който съдържа данните, които да се използват на мястото на име параметър.

Освен това, можете да използвате метод bindParam:

Ние обработваме данните

След като нарече метода на изпълнение Има няколко начина да получите масив от данни (по подразбиране), на обекта, и така нататък. В горния пример използва режимът по подразбиране: ЗНП :: FETCH_ASSOC. Нейната лесно да се промени, ако искате:

Сега, резултатът ще бъде под формата на даден обект. Вариантите са:

  • ЗНП :: FETCH_ASSOC: Връща масив.
  • ЗНП :: FETCH_BOTH: Връща масив, индексиран от име на колона.
  • ЗНП :: FETCH_BOUND: Връща TRUE, и определя стойността на колоните в резултат набор свързана променливи PHP на.
  • ЗНП :: FETCH_CLASS: Връща нов екземпляр от съответния клас.
  • ЗНП :: FETCH_OBJ: връща анонимен обект с имена на свойства, съответстващи колони.

В горния код не разполага с обратна връзка в случай на резултат. За коригиране на ситуацията:

Пълният код е както следва:

множествена изпълнение

ЗНП показва своята сила в случаите, когато е необходимо да се извърши по същия SQL заявка на няколко пъти, но с различни параметри.

След като искането е готов, той може да се управлява по няколко пъти с различни параметри. В горния код вкарва два реда в базата данни, един на име "Кевин", а другият - ". Стивън"

Типични операции на базата данни (CRUD)

Помислете за един типичен изпълнението на операциите на данни (CRUD - създават, четат, актуализиране, заличаване създавате, четете, актуализиране, изтриване). Имайте предвид, че код за тях е много подобна.

Създаване (Box)

актуализация

Достъпът до базата данни в PHP

До получаване на информация от два канала (зрение и слух) на ефективността на обучението далеч по-добър живот от книги. А домашните задачи и онлайн тестове ще ви позволи да мисля постоянно в целевия език и веднага провери знанията си!

Достъпът до базата данни в PHP

Достъпът до базата данни в PHP

Ако искате по-дълго време, за да проучи как да се HTML, че ме има, за което трябва добра новина!

Достъпът до базата данни в PHP

Ако вече сте се научили HTML и искат да се движи напред, следващата стъпка ще бъде да се проучи CSS технологията.

Достъпът до базата данни в PHP

Ако искате да се разбере концепцията на домейн и хостинг, да научат как да се създаде база данни, да качвате файлове към уеб сайт чрез FTP сървър, създаване на поддомейни, да конфигурирате пощенските кутии за сайта и мониторинг на посещаемостта, този курс е разработен специално за вас!