Достъпът до базата данни в 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)
актуализация
До получаване на информация от два канала (зрение и слух) на ефективността на обучението далеч по-добър живот от книги. А домашните задачи и онлайн тестове ще ви позволи да мисля постоянно в целевия език и веднага провери знанията си!
Ако искате по-дълго време, за да проучи как да се HTML, че ме има, за което трябва добра новина!
Ако вече сте се научили HTML и искат да се движи напред, следващата стъпка ще бъде да се проучи CSS технологията.
Ако искате да се разбере концепцията на домейн и хостинг, да научат как да се създаде база данни, да качвате файлове към уеб сайт чрез FTP сървър, създаване на поддомейни, да конфигурирате пощенските кутии за сайта и мониторинг на посещаемостта, този курс е разработен специално за вас!