Работа с MySQL в PHP - с чего начать

Один из самых часто задаваемых вопросов начинающих веб-мастеров: как начать работать с базами данных MySQL, используюя скрипты на PHP? Это неудивительно, потому что эра статических HTML-сайтов давно прошла (на "Народе" это любимое народом дело процветает :) и теперь более-менее грамотные начинающие веб-мастера осознали удобство и комфорт создания и поддержания контент проектов на основе PHP-MySQL. Скептики и консерваторы будут утверждать, что работать с файлами проще, что легче наверстать страничку вручную, чем тратить время на отладку и написание скриптов. Не слушайте их - это абсурд! Как говорится "Лучше день потерять потом за 5 минут долететь!". Ну допустим, на подготовку и создание динамической версии сайта на основе PHP-MySQL уходит раза в два-три больше времени, а то и больше, но зато поддержка проекта в будущем покажется вам приятным и простым занятием (конечно, настолько, насколько серьёзно вы к этому подойдёте). А почему загибаются казалось бы хорошие статические сайты? Причина всему - рутинные операци по обновлению сайта. Если на PHP-MySQL сайте есть возможность добавлять статьи через форму (копировать, вставить, отправить), то для добавления статьи на статический сайт нужно намного больше более сложных операций:

  1. Сверстать новую страничку на основе существующего шаблона.
  2. Проверить форматирование, ссылки, картинки, всё ли на месте.
  3. Добавить ссылку на новую страницу где-то ещё (а то и на несколько!), например в раздел "Статьи".
  4. Проверить, как всё это работает целиком.
  5. Соединиться с сервером FTP.
  6. Закачать все обновлённые страницы на сервер.
  7. Проверить, всё ли работает в онлайне.

Вот почему многие бросают любимое занятие. Ну есть конечно некоторые усердные личности, которые годами поддерживают такие сайты. А есть и умельцы, которые за пару месяцев разработают БД и PHP-движок и будут жить методом "копировать, вставить, отправить"!

Надеюсь, я привёл достаточные аргументы в пользу динамического сайта. И вот Вася Пупкин решил опробовать себя в этом нелёгком деле, но тут возникает несколько резонных вопросов:

  1. Есть ли у меня PHP?
  2. Есть ли у меня MySQL?
  3. Есть ли у меня вообще сайт? (шутка :)

Итак, для создания динамического сайта нам понадобится хостинг с поддержкой 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 (ну или смотря куда вы его закачали). Если всё сделано правильно, скрипт отработает и выведет на экран содержимое БД в виде обычной таблицы.

Буду искренне рад, если эта статья стала для вас отправной точкой для создания динамического сайта!




Рекомендуем почитать


Комментарии

hhh

20.11.2018 - 11:05:46

hhhhhhh

Добавить комментарий


Ваше имя:


Комментарий:


Введите: Картинка