Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11650
Последний выпуск: 19.06.2015

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

Перевод: fox++
на основе статьи и скриптов: http://tutorials.programmingsite.co.uk.

Многие обладатели домашних страничек рано или поздно начинают интересоваться устройством крупных новостных порталов и контент-проектов - не вручную же они ве эти страницы делают! А как тогда? Данная статья поможет начинающему веб-мастеру начать создание проектов с применением PHP-MySQL.

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

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

Ссылки по теме

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
89K
01 февраля 2013 года
yu.martynova
0 / / 01.02.2013
+2 / -1
Мне нравитсяМне не нравится
8 февраля 2013, 02:30:32
Огромное спасибо автору!!! Я сегодня первый день как изучаю php, а по материалу все поняла :-) статья спасла!
2.
63K
12 августа 2010 года
Nikiv11
0 / / 12.08.2010
+0 / -1
Мне нравитсяМне не нравится
6 августа 2012, 14:37:29
Большое спасибо. Все четко и понятно. Получилось с первого раза. Ничего обновлять не надо. Классика не стареет.
3.
53K
21 декабря 2009 года
Foss
14 / / 21.12.2009
+0 / -1
Мне нравитсяМне не нравится
29 апреля 2010, 22:48:24
Да и обновить бы статью не мешало )
4.
26K
15 февраля 2007 года
LexaLiberty
0 / / 15.02.2007
+0 / -1
Мне нравитсяМне не нравится
15 февраля 2007, 21:07:29
Автору бы добавить ещё пару строчек, начинающий ваятель зачастую начинает с "Денвера" , поэтому можно было бы сразу указать, как ему запустить ("взять инструмент"), конечно на первой странице сервера есть тестовая ссылка на phpAdmin, но между установкой пакета и прочтением этой статьи может быть достаточный промежуток времени чтоб забыть о содержании заглавной страницы.
5.
5.3K
20 января 2007 года
Bear Deon
82 / / 20.01.2007
+0 / -1
Мне нравитсяМне не нравится
10 февраля 2007, 22:00:57
Большое респектище автору !
6.
2.8K
13 марта 2004 года
Arsench
27 / / 13.03.2004
+0 / -1
Мне нравитсяМне не нравится
12 сентября 2006, 15:42:13
a u menya tolko poivilos adres i opisanie bolshe nichevo,kak reshat eto?
7.
Аноним
+0 / -1
Мне нравитсяМне не нравится
2 мая 2006, 15:01:31
спасибо автору !!!! Искал в 3 книгах ничего не нашел
8.
Аноним
+0 / -1
Мне нравитсяМне не нравится
15 марта 2006, 11:53:11
хм... Перечитал... Оказалось, что не все так плохо-) хотя и не то что мну нужно, но для новекчков наверно полезнО;)
9.
Аноним
+0 / -1
Мне нравитсяМне не нравится
15 марта 2006, 11:46:28
бред-))
10.
Аноним
+1 / -2
Мне нравитсяМне не нравится
22 февраля 2006, 14:30:29
несомненно одна из лутших статей...расписано всё...супер...кратко,ясно,и по делу...просто класно!
11.
Аноним
+0 / -2
Мне нравитсяМне не нравится
8 февраля 2006, 17:08:02
К счастью Инет состоит не только из таких самонадеянных категоричностей, как dmi3j (у которых пальцы веером, сопли пузырем), а потому считаю статью весьма полезной как для начинающих, так и для совершенствующихся web-строителей.
Автору статьи спасибо.
12.
Аноним
+0 / -2
Мне нравитсяМне не нравится
12 января 2006, 20:21:09
Отличная статья! Нигде не видела таких подробрых и понятных объяснений! Спасибо огромное!!!
13.
Аноним
+1 / -3
Мне нравитсяМне не нравится
12 января 2006, 12:53:16
Извиняюсь за флуд... Что-то все у меня не так, блин :)
14.
Аноним
+0 / -2
Мне нравитсяМне не нравится
12 января 2006, 12:51:31
Хм.... а нет желания продолжить и написать серию статей, описывающую пошаговое создание cms? было бы очень интересно почитать...
Избесплатных cms ничего стоящего не видел... А разбирать чужой код не всегда просто :)
15.
Аноним
+1 / -2
Мне нравитсяМне не нравится
9 января 2006, 23:58:44
Отличная статья. Всегда избегал мускул, даже не изучал его, т.к. не видел в нём смысла. Но как приспичело нормальный проект делать... Лучше уж базу использовать. Нормальных, коротких статей не нашёл, а вот эта - самый респект!! Спасибо автору.
16.
Аноним
+1 / -3
Мне нравитсяМне не нравится
9 января 2006, 22:23:17
А вот мне статья понравилась, все кратко и доходчиво, спасибо большое!
17.
Аноним
+3 / -2
Мне нравитсяМне не нравится
27 декабря 2005, 18:53:07
2 dmi3j:

Спасибо за отзыв! Для таких как я и для таких как вы статья непременно бесполезна. Но поверьте, есть огромное количество людей, которые в поисках информации не знают с чего начать (не говоря о том, что искать толком не умеют). На написание статьи меня натолкнули именно просьбы всевозможных Вась Пупкиных научить их работать с PHP-MySQL. Анализ рунета показал, таких простых статей, как эта - очень мало. Загляните в любой программерский форум - больше половины вот таких вот вопросов. И если админ посчитал нужным опубликовать статью (да ещё и добавил ссылки на другие статьи в конце), то значит он со мной согласен и все вопросы к нему :))

З.Ы. - Вы несомненно крут в любом вопросе, касающемся программирования, вам даже не лень тратить время на ниписание глупых постов, тем более на транслите :) Лучше бы потратили время на конструктив.
18.
Аноним
+2 / -7
Мне нравитсяМне не нравится
27 декабря 2005, 14:21:21
Absolutno bespoleznaja statja! Sovetuju adminam steret dabi ne zanimala mesto. Polnij bred. KPD = 0. Absolutno nikakoj informacii.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог