OOP пример с PHP и MySql
След като разберете от какво се нуждаем, можете лесно да създадете скелет за нашия клас. Първо трябва да включим в класа основните функции за работа с MySQL. Необходими са следните функции.
Следва дефиницията на нашия клас. Имайте предвид, че всички методи, които създадох, използват ключовата дума public.
функцията connect().
Тази функция ще бъде доста проста, но преди да напишем функцията, трябва да дефинираме няколко променливи. Променливите трябва да са достъпни само в рамките на класа, така че всяка променлива се предхожда от ключовата дума private. Всички променливи (хост, потребителско име, парола, име на база данни) се използват за свързване към базата данни MySQL. След това можем да създадем проста заявка за база данни MySQL. Разбира се, като програмисти, ние трябва да очакваме всичко от потребителите и въз основа на това трябва да вземем определени предпазни мерки. Можем да проверим: ако потребителят вече е свързан към базата данни, тогава, съответно, не е необходимо да се свързва отново с базата данни. В противен случай можем да използваме идентификационните данни на потребителя за свързване.
Както можете да видите по-горе, ние използваме основни функции на MySQL и извършваме малка проверка за грешки, за да сме сигурни, че всичко върви по план. Ако потребителят е свързан към базата данни, връщаме true, в противен случай връщаме false. Като допълнителен бонус задайте променливата ( con ) на true, ако връзката е установена.
Публична (публична) функция disconnect()
Функцията проверява променливата за връзка за съществуване. Ако връзката е установена (con is), тогава затваряме връзката към MySQL базата данни и връщаме true. В противен случай не е нужно да правите нищо.
публична функция select().
Да преминем към часттакъдето нещата стават малко по-сложни. Започваме с потребителски аргументи и връщаме резултатите от заявката. Не е необходимо да използваме резултатите точно сега, но трябва да създадем променлива, в която ще съхраняваме потребителски резултати за заявки от базата данни. Освен това ще създадем и нова функция, която ще проверява дали дадената таблица съществува в базата данни. Тази функция ще бъде създадена отделно, тъй като всички наши CRUD операции ще изискват такова валидиране. По този начин това ще изчисти малко нашия код и допълнително ще допринесе за оптимизирането на кода. По-долу има функция за проверка на таблици (tableExists) и публична променлива с резултати от заявка.
Тази функция просто проверява дали необходимата таблица съществува в базата данни. Ако таблицата съществува, тя ще върне true, в противен случай ще върне false.
На пръв поглед изглежда смущаващо, но тук правим цял куп важни неща. Функцията приема четири аргумента, един от които е задължителен. Функцията ще върне резултата при наличие на единствен аргумент – името на таблицата. Можете обаче да разширите броя на аргументите и да добавите нови аргументи, които можете да използвате, когато работите с базата данни; в крайна сметка правилното изпълнение на функцията зависи от един аргумент - името на таблицата. Кодът във функцията служи за компилиране на всички аргументи към заявката за избор. Веднага след като заявката бъде съставена, ще е необходимо да се провери наличието на необходимата таблица в базата данни - за това се използва функцията tableExists. Ако таблицата бъде намерена, тогава функцията ще продължи и заявката ще бъде изпратена. В противен случай всичко ще спре.
Следващият раздел съдържа наистина магически код. Същността е в следното: да се съберат исканите данни от табл. След това присвояваме нашия резултат на променлива. За опростяване на резултата за крайния потребителвместо цифрови клавиши ще използваме имена на колони. Ако броят на редовете на таблицата е повече от един, на изхода ще получите двумерен масив, в който първият ключ е число (инкремент), вторият ключ е името на колоната. Ако таблицата има само един ред, ще бъде върнат едномерен масив, чиито имена на ключове съвпадат с имената на колоните в таблицата. Ако в таблицата не бъдат намерени редове, резултатната променлива ще бъде зададена на нула. Както казах по-рано, всичко изглежда малко объркващо, но след като разделите кода на отделни секции, всичко става много по-лесно и по-разбираемо.
Публичната функция insert().
Както можете да видите, тази функция е доста проста в сравнение с правенето на избрани заявки към базата данни. Всъщност функцията за изтриване би била още по-проста.
Публичната функция delete().
Тази функция просто премахва таблицата или редовете от нашата база данни. По този начин трябва да предадем името на таблицата и незадължителен аргумент, дефиниращ условието where към функцията. В условието след ключовата дума WHERE следва спецификация: изтриване на ред, редове или цялата таблица. Ако клаузата where е пропусната, всички редове ще бъдат изтрити. След това се прави заявка за изтриване и заявката се изпълнява.
И накрая, нека да преминем към нашата последна основна функция. Тази функция служи за актуализиране на ред в базата данни с нова информация. Тази функция на пръв поглед е трудна за разбиране, но това не е съвсем вярно. Ще използваме всички същите принципи, както преди. Например, аргументите ще се използват за съставяне на заявка за актуализиране. Също така ще проверим за съществуването на таблица с помощта на метода tableExists. Ако таблицата съществува, актуализирайте съответния ред. Най-трудната част, разбира се, е мястото, където съставяме заявката за актуализация. Тъй като изявлението за актуализация имаправило за актуализиране на всички редове наведнъж, трябва да вземем това предвид и правилно да коригираме този момент. И така, реших да предам условието where като прост масив. Първият аргумент в този масив е името на колоната, следващият аргумент са стойностите на колоната. Така всяко четно число (включително 0) съответства на име на колона, а всяко нечетно число съдържа нечетна стойност. Съответният код е по-долу:
В следващия раздел ще създадем част от оператора за актуализиране, като зададем променливи. Тъй като можете да промените всяка цифрова стойност, предпочетох масив с ключове по име на колона и нови стойности. Така остава да проверим за типа на стойността и къде да поставим запетаята. Сега, след като написахме двете основни части на изявлението за актуализация, лесно е да завършите изявлението за актуализация, кодът е показан по-долу:

Използване
И така, създадохме нашия клас, но как да го използваме? Тук всичко е просто. Нека започнем със създаването на проста база данни, в която да тестваме нашия клас. Създадох тестова база данни и компилирах прост оператор mysql. Можете да го поставите във всяка база данни.

Сега, когато нашата таблица е създадена и попълнена, е време да изпълним някои прости заявки.
Ако всичко е направено правилно, ще видите следното:

По същия начин можем да изпълним заявка за актуализиране и да изведем резултатите.