Съдържание
Ако има нещо, което може да навреди на дадено приложение, това е, когато не използваме адекватни ресурси, за да го направим по -бързо и по -безопасно, има много начини да подобрим скоростта и сигурността на приложенията, това може да стане чрез използване на по -добри модели за разработка, прилагане на по -голяма сигурност на сървърите и т.н.Има обаче момент, в който много пъти не спираме да мислим и това е, ако инструментът, който ни дава езикът, е най -добрият за работата, която вършим. Това се случва много в PHP Въпреки факта, че в продължение на много години има предупреждение да не се използва функцията mysql_connect () за установяване на връзки към Бази данни, изглежда много разработчици не осъзнават голямата грешка, която правят, когато я използват.
PHP има естествена поддръжка за голям брой двигатели Бази данни които съществуват на пазара, но неговата интеграция с MySQL това е почти задължителна отправна точка за повечето потребители.
mysql_connect ()От версията 5.5 на PHP класическа функция mysql_connect () е в състояние отхвърлен, тоест остарял е и силно се препоръчва да не се използва, тъй като няма да бъде включен в бъдещите версии на езика.
Алтернативата за осъществяване на връзката преминава през два елемента, първият е да използвате една и съща езикова структура за осъществяване на връзки или да използвате новата библиотека за свързване с MySQL. Тук може да дойде първият въпрос, защо просто да се замислим MySQL? Е, отговорът е прост, това е начало, това е най -простото и най -полезно нещо, което можем да обясним първоначално, ако познаваме тази база, можем да екстраполираме към други двигатели и драйвери.
Първата алтернатива на свързване към База данни е да използвате собствения обект на данни на езика, наречен PHP обект на данни или неговото съкращение ЗНП. Това не е нищо повече от голямо писмено разширение на езика ° С което ни позволява да установим връзки с различни видове двигатели Бази данни и че има стандартни методи, които ни дават възможност за писане на кросплатформени приложения, тоест не е нужно да променяме синтаксиса, ако сменим механизма на базата данни.
Първоначално казахме, че ще се съсредоточим върху MySQL, но ако установим връзка чрез ЗНП това, което правим, можем да приложим към други двигатели. За това трябва само да активираме или включим драйверите за споменатите двигатели и да ги активираме във файла php.ini от сървъра.
За да се свържете с a База данни просто трябва да установим връзката, използвайки подходящия за нея метод, в ЗНП връзката се постига с три основни параметъра, името на сървъра на базата данни, потребителското име и неговата парола.
Единственият параметър от тези три, който се нуждае от обяснение, е този на сървъра на базата данни, в миналото трябваше да избираме База данни Чрез конкретна функция след установяване на връзката, в този случай ще го направим в същия низ, така че нашият низ на името на сървъра ще изглежда така:
mysql: host = hostname; dbname = dbname
Виждаме, че в този случай първоначално задаваме двигателя mysql тогава с хост ще ви кажем кой е сървърът, тук може да бъде a IP или localhost ако сървърът е локален, накрая с dbname предаваме името на базата данни, към която искаме да се свържем. На следващото изображение ще наблюдаваме как трябва да се свърже код, използвайки ЗНП:
Увеличете
В тази проста заявка ще приемем, че имаме таблица в нашата База данни обади се Автор който получава авторски код и след това неговото име, разбира се, че е демонстративно, не е пример за добра таблица, интересува ни само да разберем как работи връзката от ЗНП.
На изображението виждаме, че наричаме метод, наречен заявка () от обекта, създаден с низа за връзка с PDO, след това пишем нашата заявка без много проблеми:
Увеличете
Увеличете
Ако искаме да се консултираме, след като вече сме вмъкнали някои стойности в нашата База данни много е просто, просто трябва да го направим със заявка SELECT, това ще ни позволи да донесем записите, в миналото сме разчитали на функции като напр mysql_fetch_array () или mysql_fetch_assoc () който след консумация ни остави неспособни да управляваме резултатите си отново.
С ЗНП Ще вземем данните директно от обекта, така че винаги ще ги имаме достъпни по време на изпълнение, нека видим в следния пример как би било направено:
Какво MySQL е най -популярният механизъм за бази данни за интегриране PHP, има и алтернатива и е така MySQLi което не е нищо повече от обектно-ориентиран интерфейс. Начинът му на работа е много подобен на този на ЗНППромените обаче са, че той е само за този популярен механизъм за бази данни, така че преобразуването между различни платформи не би било възможно.
Неговият низ за връзка е малко по -малко сложен, тъй като разделя името на сървъра в хоста и базата данни, която ще се използва в два различни параметъра, в допълнение към името и паролата на потребителя, нека видим как изглежда:
$ objConex = нов mysqli (HostName, потребител, парола, DatabaseName);
Нека да видим в следния пример как установяваме връзка, използвайки MySQLi и как можем да извършим просто вмъкване на данни:
Увеличете
Сега ще получаваме и преглеждаме данните, които можем да получим от заявка, за това ще използваме същия метод заявка () и след това метода fetch_assoc () за да получите резултатите:
ВажноТрябва да имаме предвид, че ако имаме система, направена в стара версия на PHP и няма да мигрираме към нови версии, може би ще променим низовете за връзка на База данни и методите на заявките може да не са добра идея за работата, която представлява. Ако обаче искаме да правим нови приложения и системи, най -добре е да започнем със солидна основа, използвайки тези нови библиотеки с поддръжка в бъдещите версии на PHP.
С това завършихме този урок, видяхме, че новите алтернативи са много по -чисти и по -безопасни, а тяхната лекота на използване ги прави подходящи за настоящите времена.Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка