Работа с MySQL в PHP - с чего начать
Один из самых часто задаваемых вопросов начинающих веб-мастеров: как начать работать с базами данных MySQL, используюя скрипты на PHP? Это неудивительно, потому что эра статических HTML-сайтов давно прошла (на "Народе" это любимое народом дело процветает :) и теперь более-менее грамотные начинающие веб-мастера осознали удобство и комфорт создания и поддержания контент проектов на основе PHP-MySQL. Скептики и консерваторы будут утверждать, что работать с файлами проще, что легче наверстать страничку вручную, чем тратить время на отладку и написание скриптов. Не слушайте их - это абсурд! Как говорится "Лучше день потерять потом за 5 минут долететь!". Ну допустим, на подготовку и создание динамической версии сайта на основе PHP-MySQL уходит раза в два-три больше времени, а то и больше, но зато поддержка проекта в будущем покажется вам приятным и простым занятием (конечно, настолько, насколько серьёзно вы к этому подойдёте). А почему загибаются казалось бы хорошие статические сайты? Причина всему - рутинные операци по обновлению сайта. Если на PHP-MySQL сайте есть возможность добавлять статьи через форму (копировать, вставить, отправить), то для добавления статьи на статический сайт нужно намного больше более сложных операций:
- Сверстать новую страничку на основе существующего шаблона.
- Проверить форматирование, ссылки, картинки, всё ли на месте.
- Добавить ссылку на новую страницу где-то ещё (а то и на несколько!), например в раздел "Статьи".
- Проверить, как всё это работает целиком.
- Соединиться с сервером FTP.
- Закачать все обновлённые страницы на сервер.
- Проверить, всё ли работает в онлайне.
Вот почему многие бросают любимое занятие. Ну есть конечно некоторые усердные личности, которые годами поддерживают такие сайты. А есть и умельцы, которые за пару месяцев разработают БД и PHP-движок и будут жить методом "копировать, вставить, отправить"!
Надеюсь, я привёл достаточные аргументы в пользу динамического сайта. И вот Вася Пупкин решил опробовать себя в этом нелёгком деле, но тут возникает несколько резонных вопросов:
- Есть ли у меня PHP?
- Есть ли у меня MySQL?
- Есть ли у меня вообще сайт? (шутка :)
Итак, для создания динамического сайта нам понадобится хостинг с поддержкой PHP и MySQL. Ну здесь я вам не советчик - если вы создаёте серьёзный проект, то лучше немного заплатить, но получить всё и сразу - тогда вам сюда http://hcenter.info. Из бесплатных хостингов PHP и MySQL доступны кажется на Агаве, но я могу ошибаться - тогда поищите в Яндексе "бесплатный хостинг с поддержкой PHP MySQL" или что-то в этом роде.
Пропускаем момент регистрации на хостинге. Теперь вам должны выслать по email письмо с логинами и паролями. Внимательно прочитайте инструкции, посмотрите FAQ на сайте хостинга, если что-то непонятно.
Во-первых, вам необходимо создать новую базу данных на MySQL-сервере. Это очень легко делается при помощи инструментов типа phpMyAdmin или любого графического клиента MySQL - SQLyog, MySQL-Front. На большинстве хостингов это делается при помощи панели управления хостингом - тут я вам не помощник, смотрите сами. Выполните функцию создания новой базы, назвав её например "test".
При помощи одной из указанных выше программ выполните представленный ниже SQL-дамп:
# # Table structure for table `links` # # Creation: Aug 12, 2003 at 05:11 PM # Last update: Aug 12, 2003 at 05:28 PM # CREATE TABLE `links` ( `id` int(10) unsigned NOT NULL auto_increment, `url` varchar(100) NOT NULL default '', `description` varchar(100) NOT NULL default '', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=6 ; # # Dumping data for table `links` # INSERT INTO `links` VALUES (1, 'http://www.programmingsite.co.uk', 'programming directory'); INSERT INTO `links` VALUES (2, 'http://www.beginnersphp.co.uk', 'PHP tutorials and code'); INSERT INTO `links` VALUES (3, 'http://asp.programmershelp.co.uk', 'ASP site with code and tutorials'); INSERT INTO `links` VALUES (4, 'http://javascript.programmershelp.co.uk', 'javascript site'); INSERT INTO `links` VALUES (5, 'http://software.programmingsite.co.uk', 'software directory');
Теперь вы можете написать и выполнить свои PHP-скрипты для операций с только что созданной базой данных. Следующий PHP-скрипт подключается с серверу MySQL, производит выборку данных и выводит содержимое таблицы "links" в виде обычной HTML-таблицы.
<?php //соединение с базой данных при помощи функции mysql_connect() //в аргументах функции укажите имя сервера, логин и пароль. $db = mysql_connect("сервер","логин","пароль"); //функция mysql_select_db() выбирает текущую //базу данных с именем "test" mysql_select_db("test" ,$db); //функция mysql_query() выполняет запрос на выборку данных //результирующий набор данных хранится в переменной $sql $sql = mysql_query("SELECT * FROM links" ,$db); //после получения данных начнём формирование HTML-таблицы echo ("<table border ='1'>"); //выводим строку заголовков echo ("<tr><td>Адрес</td><td>Описание</td></tr>"); //функция mysql_fetch_row() извлекает одну строку из результата //и сохраняет её в массиве $tablerows while ($tablerows = mysql_fetch_row($sql)) { //теперь в цикле для каждой полученной строки сделаем вывод //$tablerows[1] соответствует полю "url" //$tablerows[2] соответствует полю "description" echo("<tr><td><a href='$tablerows[1]'>$tablerows[1]</a></td><td>$tablerows[2]</td></tr> "); } echo "</table>"; //закрытие соединение (рекомендуется) mysql_close($db); ?>
Сохраните скрипт в файл под именем, например test.php и закачайте на FTP-сервер вашего сайта. Скрипт будет доступен например так: http://vasya.server.ru/test.php (ну или смотря куда вы его закачали). Если всё сделано правильно, скрипт отработает и выведет на экран содержимое БД в виде обычной таблицы.
Буду искренне рад, если эта статья стала для вас отправной точкой для создания динамического сайта!
Рекомендуем почитать
Комментарии
|