Разумеется, без средств отслеживания тех изменений, которые пользователь вносит по мере использования вашего веб-сайта, нельзя в полной мере говорить о возможностях динамического изменения выходного кода HTML.
На заре создания Всемирной паутины многие сайты использовали для хранения таких данных, как имена пользователей и пароли, неструктурированные текстовые файлы. Но такой подход мог вызвать ряд проблем, если файл не был надежно заблокирован от повреждений, возникающих при одновременном доступе к нему множества пользователей. К тому же неструктурированный файл мог разрастаться до таких размеров, что с ним непросто было работать, не говоря уже о трудностях, связанных с попытками объединения файлов и осуществления в них сложных поисковых операций за какое-нибудь мало-мальски приемлемое время.
Именно в таких случаях приобретает большое значение использование реляционных баз данных со структурированной системой запросов. И MySQL, будучи совершенно бесплатной и установленной на огромном количестве веб-серверов Интернета системой, оказывается как нельзя кстати. Она представляет собой надежную и исключительно быстродействующую систему управления базами данных, использующую команды, похожие на простые английские слова.
Высшим уровнем структуры MySQL является база данных, внутри которой можно иметь одну или несколько таблиц, содержащих ваши данные. Предположим, например, что вы работаете над таблицей под названием users (пользователи), внутри которой были созданы графы для фамилий — surname, имен — firstname и адресов электронной почты — email, и теперь нужно добавить еще одного пользователя. Одна из команд, которую можно использовать для этого, выглядит следующим образом:
INSERT INTO users VALUES('Smith'. 'John'. 'jsmith@mysite.com');
Разумеется, как упоминалось ранее, для создания базы данных и таблицы и настройки всех нужных полей понадобится выдать и другие команды, но используемая здесь команда INSERT демонстрирует простоту добавления в базу данных новой информации. Команда INSERT является примером структурированного языка запросов (Structured Query Language (SQL)), разработанного в начале 1970-х годов и напоминающего один из старейших языков программирования — COBOL. Тем не менее он хорошо подходит для запросов к базе данных, что и предопределило его использование в течение столь длительного времени.
Так же просто выполняется и поиск данных. Предположим, что имеется адрес электронной почты пользователя и нужно найти имя его владельца. Для этого можно воспользоваться следующим запросом MySQL:
SELECT surname.firstname FROM users WHERE email='jsmith@mysite.com*;
После этого MySQL вернет Smith, John и любые другие пары имен, которые могут быть связаны в базе данных с адресом электронной почты.
Нетрудно предположить, что возможности MySQL простираются значительно дальше выполнения простых команд вставки и выбора — INSERT и SELECT. Например, можно объединить несколько таблиц в соответствии с множеством различных критериев, запросить результаты, выбрав порядок их выдачи из множества вариантов, найти частичные совпадения, если известна только часть искомой строки, вернуть только конкретно заданное количество результатов и сделать многое другое.
При использовании РНР все эти вызовы можно направлять непосредственно к MySQL, без необходимости запуска самой программы MySQL или использования ее интерфейса командной строки. Это значит, что, для того чтобы докопаться до нужного вам элемента данных, вы можете сохранять результаты в массивах для их обработки и осуществления множества поисковых операций, каждая из которых зависит от результатов, возвращенных предыдущими операциями.
Далее будет показано, что для придания еще большей мощности прямо в MySQL встроен ряд дополнительных функций, которые можно вызвать для наиболее часто встречающихся операций и повышения скорости обработки данных.
Использование РНР | Использование JavaScript |