MySQL и PHP клас за създаване на връзка с база данни
По един или друг начин сега ще анализираме стъпките за изграждане на клас за създаване на връзка към MySQL база данни в PHP. Имаме нужда от два PHP файла, в единия файл ще „поставим“ клас за създаване на връзка с базата данни, а във втория ще работим с този клас.
Нека създадем два файла:
Мисля, че вече не сме малки деца и знаем какво ни трябва, за да работим с PHP файлове. Инсталира уеб сървър Apache, PHP, MySQL DBMS и знае къде да постави тези файлове - (за тези, които не знаят или са забравили).
Изваждам файла, в който се съхранява класът, в отделен файл и го именувам във формата: име на клас.клас.php и знам какво се съхранява в този файл. Когато има много класове в един проект, можете да се изгубите, така че препоръчвам да именувате файлове с класове във формата, описан по-горе.
Нека сега анализираме какво е създадено на тази стъпка. Използвайки ключовата дума "class", името на класа - DataBase и фигурни скоби, създадохме тялото на класа. В създадения клас създадохме две свойства, в $mConnect - където се съхранява резултатът от свързването към базата данни и $mSelectDB - където се съхранява резултатът от избора на база данни. Може би сте забелязали ключовите думи във всяко свойство – публични и статични. За какво говорят? Public означава, че свойството е достъпно извън класа, докато static дава възможност за достъп или извикване на свойството без създаване на екземпляр на класа, което много често е удобно за работа.
Нека добавим метода Connect(), за да създадем връзка към базата данни:
Методът Connect(), който добавихме, основната му задача е да създаде връзка към базата данни, в противен случай ще докладва грешка на потребителя. Методът Connect() приема като параметър:
Функцията mysql_connect() създава връзка с база данни, резултат от изпълнениетозаписва в $mConnect. Следва проверката с конструкцията IF: Ако връзката не е била успешна, покажете съобщение за грешка... В противен случай PHP ще игнорира блока IF и ще продължи да избира базата данни. Функцията mysql_select_db() избира името на базата данни, ако исканата база данни не съществува в базата данни, в който случай програмата ще докладва грешка на потребителя. Ако всичко върви добре, връзката с базата данни ще върне return.
Добавете метода Close():
Следващият и последен метод в този клас е Close(), който затваря връзката към базата данни, функцията mysql_close() затваря връзката към MySQL сървъра и връща резултата.
С помощта на функцията define() създадохме константи за съхраняване на параметрите за свързване към базата данни. Require_once включва нашия клас DataBase във файла index.php.
Нека си припомним ключовата дума static, която беше използвана в класа DataBase в свойствата и методите на този клас. Това ни дава възможност за достъп до свойствата и методите на класа чрез "::" (две двоеточия). Методът DataBase::Connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE) приема 4 параметъра — константи, създадени от функцията define(), които съхраняват информация за връзката с базата данни. Ако връзката е успешна, методът Connect() ще ни върне връзката с базата данни. След това ще можем да работим и да изпълняваме заявки към базата данни. Функцията mysql_query() изпълнява заявка към база данни. функция mysql_fetch_assoc() - обработва реда с резултат от заявката и връща асоциативен масив. Конструкцията echo показва версията на MySQL сървъра. И накрая, методът DataBase::Close() ще затвори връзката с базата данни.