Основы работы с базами данных (БД). Как создавать базы данных и таблицы баз данных. Как подключиться к БД через PHP. Инструкция INCLUDE

Logo
Основы работы с базами данных (БД)

Данную статью я хочу посвятить такому важному моменту в создании сайтов, как работа с базами данных. В статье мы подробно рассмотрим основные моменты, такие как создание базы данных и таблиц баз данных через phpMyAdmin, добавление информации в БД через phpMyAdmin, подключение к базе данных посредством PHP, а также рассмотрим инструкцию INCLUDE, которая позволяет подключать к документу другие файлы, что сильно облегчает работу при создании сайтов и скриптов.

Сразу хочу заметить, что тему создания базы данных мы уже затрагивали в статье «Установка Joomla на Denwer. Создание базы данных и пользователей БД. Перенос Joomla на хостинг». Исходя из этого, в этой статье мы пропустим пункт о создании пользователей баз данных. Если же вам интересен данный момент, то узнать о нем вы можете из статьи, ссылка на которую находится чуть выше.

Создание базы данных через phpMyAdmin

Для создания базы данных можно использовать панель управления хостингом, если вы создаете базу данных на хостинге, или phpMyAdmin, если вы создаете БД на локальном компьютере. Рассмотрим второй вариант.

Первым делом запускаем программу Denwer (виртуальный сервер). Далее переходим по адресу http://localhost/Tools/phpMyAdmin и в открывшемся окне начинаем создавать новую базу данных. Для этого заполняем поля как показано на картинке.

Создание новой базы данных через phpMyAdmin

  • Имя базы данных – прописываем английскими буквами имя нашей базы данных.
  • Сравнение – указываем сравнение для нашей БД. Если кодировка сайта UTF-8 – указываем utf8_general_ci. Если же сайт работает с кодировкой CP 1251 – ставим cp1251_general_ci.

После введения всех данных сохраняем результат и создаем новую БД. В результате этого слева в меню phpMyAdmin появится еще одна база данных с нашим именем.

Меню phpMyAdmin

Создание таблиц в базе данных через phpMyAdmin. Добавление информации в БД через phpMyAdmin

Для того чтобы вручную создать таблицы в базе данных переходим в phpMyAdmin и слева в меню выбираем нашу БД. После этого ищем на странице поле «Создать новую таблицу в БД» и заполняем данные как показано на изображении.

Создание новой таблицы БД через phpMyAdmin

  • Имя – указываем имя таблицы базы данных.
  • Поля – указываем количество полей в создаваемой таблице базы данных.

После внесения информации сохраняем результат и создаем новую таблицу. В результате этого у нас откроется окно с настройками будущих полей.

Настройка полей таблицы БД через phpMyAdmin - Фото 1

  • Поле – даем имя нашим полям.
  • Тип – указываем тип данных, которые будут храниться в выбранном поле. Более подробную информацию о типах данных вы можете найти в интернете, воспользовавшись поиском по запросу «Типы данных MySQL».
  • Длины/Значения – указываем длину будущего поля. Например, если выбран тип VARCHAR, который может хранить до 255 знаков, то в данном поле нужно будет указать длину поля в пределах от 0 до 255 символов. В нашем случае для имени и фамилии, на мой взгляд, вполне будет достаточно 100 символов.
  • Сравнение – выбираем сравнение для поля. Обычно, выбирается тип сравнения, который отвечает кодировке базы данных.

Настройка полей таблицы БД через phpMyAdmin - Фото 2

Дополнительно – можно указать дополнительные свойства. В нашем случае для поля id можно выбрать свойство auto_increment, которое отвечает за автоматическое изменение счетчика. Также для поля ставим переключатель в положение «Первичный ключ», которое говорит о том, что в данном поле значения не могут повторяться.

Остальные поля можно оставить как есть по умолчанию.

После внесения всех данных сохраняем результат и создаем новые поля. Теперь при выборе таблицы слева в меню phpMyAdmin у нас откроется вкладка «Структура» в которой мы можем просмотреть всю информацию по созданным полям.

Если вы по каким-то причинам хотите добавить еще поля в эту таблицу, то для этого выбираем нужную нам таблицу слева в меню phpMyAdmin и в открывшемся окне ищем следующие поля.

Добавление новых полей в таблицу БД через phpMyAdmin

В них мы указываем, сколько полей мы хотим добавить и в какое место таблицы. По умолчанию все поля будут добавляться в конец таблицы БД.

Ручное добавления информации в базу данных через phpMyAdmin

Для того чтобы добавить информацию в базу данных через phpMyAdmin, достаточно выбрать нужную таблицу слева в меню phpMyAdmin и перейти во вкладку «Вставить». В результате этого у нас откроется страница с полями для заполнения.

Добавление данных в таблицу БД через phpMyAdmin

В поле «Значения» вносим информацию, которую мы хотим добавить в базу данных. В нашем случае это имя и фамилия. Поле id оставляется пустым, так как данное поле заполняется автоматически (свойство auto_increment). После внесения всей необходимой информации не забываем сохранить результат.

После сохранения результата переходим во вкладку «Обзор». В результате этого у нас откроется страница, на которой будут отображаться данные, которые находятся в выбранной нами таблице базы данных. В нашем случае данные будут выглядеть следующим образом.

Таблица с данными в phpMyAdmin

Итак, мы рассмотрели процесс создания базы данных и таблиц баз данных, а также научились добавлять информацию в БД через phpMyAdmin. Теперь давайте перейдем к заключительной части статьи и рассмотрим, как подключиться к созданной базе данных через php, а также рассмотрим php инструкцию INCLUDE, которая позволяет подключать к документу другие файлы.

Подключение к базе данных через PHP. Инструкция INCLUDE

Для того чтобы подключиться к базе данных через PHP нужно сделать следующее.

  1. Подключиться к MySQL серверу и получить специальный идентификатор.
  2. Выбрать базу данных с которой мы хотим работать.

Для того чтобы подключиться к серверу MySQL в PHP есть специальная функция mysql_connect(), которая имеет следующий синтаксис.

mysql_connect('Сервер MySQL','Пользователь БД','Пароль для доступа к БД');

Данная функция возвращает результат, который можно поместить в какую-то переменную для дальнейшего использования.

$db = mysql_connect('Сервер MySQL','Пользователь БД','Пароль для доступа к БД');

После соединения с базой данных и получения идентификатора можем приступить к выбору базы данных для работы. Для этого используем функцию mysql_select_db(), которая имеет следующий синтаксис.

mysql_select_db('Имя БД', идентификатор);

В нашем случае весь процесс соединения с сервером MySQL и выбор базы данных для работы будет выглядеть следующим образом.

$db = mysql_connect('Сервер MySQL','Пользователь БД','Пароль для доступа к БД');
mysql_select_db('db_name', $db);

После удачного соединения с базой данных мы сможем начать работать с данной БД, сохранять в нее информацию, удалять и заменять ее, а также извлекать. Более подробно о том, как это сделать вы сможете прочитать в последующих статьях рубрики «Уроки PHP и MySQL».

Вышеприведенный код очень часто используется при самостоятельном создании сайтов и для большего удобства зачастую выносится в отдельный файл, которой потом просто подключается в нужном месте документа. Для этих целей используется специальная инструкция PHP под названием INCLUDE.

Для того чтобы вынести данный код в отдельный файл, создаем новый PHP документ и копируем туда нужный нам код. Далее просто вызываем в нужном месте документа нужный нам файл с кодом. Делается это следующим образом.

include ('/code/config.php');

В кавычках прописываем путь к подключаемому файлу. Теперь, когда обработчик PHP дойдет до этого кода, он на месте include (‘/code/config.php’); вставит содержимое файла config.php. Таким образом, можно подключать к основному файлу другие, например, подключать блоки отвечающие за шапку сайта, sidebar, footer и т.д.

На этом данная статья подошла к концу. Если вы не хотите пропустить последних обновлений сайта, рекомендую подписаться на новостную рассылку любым удобным для вас способом в пункте «Подписка» либо воспользоваться формой ниже.

На этом все. Удачи вам и успехов в освоении PHP.

Обнаружили ошибку? Выделите ее и нажмите Ctrl+Enter

Комментарии 29

  • Влад

    Спасибо за блог!
    +5 за эту статью.

  • Дмитрий

    Спасибо за комментарий.
    Рад, что вам пригодилась данная статья.

  • Александр

    Дмитрий, Спасибо. Все толково и по существу. Просто приятно, что человек четко представляет о чем и что пишет. Профессионально. С уважением Александр Григорьевич

  • Дмитрий

    Спасибо!
    Приятно, что вы оценили:)
    Сейчас как раз начал писать про XML и XSLT. Очень полезная тема и, возможно, вам она тоже пригодится. Буду рад видеть вас читателем и этих статей.
    Еще раз спасибо за комментарий!

  • Влад

    Потерял пароль на сайт. Строки wp_users нет. Как прописать такую строку. Посмотреть бы наглядно, на примере?

  • Дмитрий

    Как я понял, вы говорите о WordPress. Для смены пароля зайдите в phpMyAdmin, выберите свою базу данных, после чего выберите таблицу wp_users. Она там есть. Точнее должна быть. Затем редактируйте запись администратора и при смене пароля выберите для поля функцию MD5. Сохраните результат.
    Теперь вы можете зайти в административную панель WordPress под новым паролем. Аналогичным образом можете сменить и логин. Только в случае с логином не нужно указывать функцию.
    Если у вас нет таблицы wp_users, то скорее всего ее кто-то удалил. Возможно какой-то вирус. Рекомендую восстановиться с резервной копии и закрыть все дырки в безопасности сайта. Сделайте это заранее на локальном компьютере, а потом уже переносите на хостинг.

  • Аленка

    сразу говорю я новичек и ничему подобному не обучалась..заполняю страницы сайта через тотал командер, у меня вопрос: вот мне нужно напечатать прайс услуг, а как сделать таблицу под прайс?

  • Дмитрий

    Для начала — это статья по PHP:)
    Никакой связи между PHP и заполнением страниц сайта через тотал коммандер я не вижу. Да и вообще я не совсем понял, как это возможно в принципе.
    Скорее всего вы делаете что-то на HTML и вам нужен совет по HTML, а не по PHP. Так вот, для создания таблиц в HTML есть специальные теги, такие как table, tr и td. Именно их вам и нужно использовать для создания таблиц. Это основы языка HTML, поэтому вам нужно их изучить в самом начале, а затем уже начинать работу. На это не уйдет много времени. Базовые основы HTML можно освоить за вечер.

  • Иван

    Спасибо за подробную и понятную статью, мне помогло в работе 

  • Дмитрий

    Спасибо за комментарий! Буду рад видеть вас среди читателей блога dmitriydenisov.com

  • Лада

    Спасибо.
    Вы единственный, у кого я нашла очень точное и подробное руководство для первых (и поэтому самых трудных) шагов.

  • Дмитрий

    Рад, что Вы оценили. Я тоже когда-то искал подобную информацию, но нигде не мог ее найти. В связи с этим обучение затруднялось. Именно поэтому я и решил вести данный блог, чтобы другие люди могли избежать затруднений, которые испытал когда-то я во время своего обучения.

  • Сергей

    Дмитрий подскажите что нужно открыть и где написать "Для того чтобы подключиться к серверу MySQL в PHP есть специальная функция mysql_connect (), которая имеет следующий синтаксис."

  • Сергей

    При использовании WordPress, ссылка на него всегда будет на моем сайте?

  • Дмитрий

    Обычно подключение к серверу MySQL делается в начале файла. Если быть точным, то подключение делают в отдельном файле, а затем его уже подключают в начале к другим файлам, где нужно подключение к серверу. А вообще подключаться можно в любом месте документа. Что касается WordPress, то этот вопрос как бы не относится к теме данной статьи, но я все же отвечу на него. Ссылка на официальный сайт обычно прописана в шаблоне, поэтому для ее удаления нужно будет отредактировать используемую тему оформления. Чаще всего нужно править footer.php или functions.php.

  • Сергей

    В каких файлах осуществляется подключение к серверу MySQL?

  • Дмитрий

    Вы разработчик, поэтому сами решаете, как назвать файл в котором будет подключение к базе данных. Рекомендую почитать другие статьи по PHP и MySQL. Думаю, после прочтения вопросов станет гораздо меньше.

  • anna

    здравствуйте!у вас отличный сайт,все понятно написано разъяснено.я хотела спросить,я создала хтмл файл,но почему то отображаются вместо букв знаки вопросов,я пробовала все шрифты  и незнаю что можно еще сделать.подскажите пожалуйста.

  • Дмитрий

    Здравствуйте. Для решения проблемы укажите в head документа его кодировку (UTF-8) и преобразуйте сам файл в кодировку UTF-8 без BOM. Должно помочь.

  • Ксюша

    спасибо за информацию, вы не могли бы еще обьяснить как поставить пароль для пользователя?

  • Дмитрий

    О создании пользователей и паролей для доступа к базе данных можно прочитать в статье об установке Joomla — http://dmitriydenisov.com/joomla/perenos-joomla.html

  • Вячеслав

    Здравствуйте! У меня вопрос (извините за тупой вопрос, просто я ничего не знаю): В функции mysql_connect параметр 'Сервер MySQL' где взять?

  • Дмитрий

    Здравствуйте. Если Вы работаете на локальном компьютере, то это localhost. Во всех остальных случаях сервер MySQL нужно смотреть в панели управления хостинга, который Вы используете.

  • Дмитрий

    Здравствуйте, не могу запустить файл install.php, даже вкаталог www войти не могу через денвер. Вот что пишет
    Warning: Cannot modify header information — headers already sent by (output started at Y:\home\localhost\www\test.com\www\wp-config.php:1) in Y:\home\localhost\www\test.com\www\wp-includes\functions.php on line 2861

  • Дмитрий

    Здравствуйте. Если с денвером все в порядке, то скорее всего допущена ошибка в файле конфигурации. Судя по ошибке, так оно и есть. Проверьте файл wp-config.php и исправьте ошибку. Что касается каталога www, то входить в него через браузер не нужно. Нужно сразу переходить к файлу, например, "dmitriydenisov.com/file.php". Как видите, никаких каталогов www нет.

  • PChacker

    Когда захожу на эту страничку http://localhost/Tools/phpMyAdmin пишет в доступе отказано и три ошибки, подскажите что делать

  • Дмитрий

    Перезапустите Denwer. Если не поможет, то переустановите его. Остановите работу программы, перезагрузите ПК, удалите файлы, установите программу заново и запустите. Должно помочь.

  • Константин

    Здравствуйте! У меня вопрос про сравнение баз данных. В каких случаях нужно указывать utf-8 и cp1251? Например: для сайтов на Joomla и WordPress.

  • Дмитрий

    Здравствуйте, Константин! Все зависит от того, на какой кодировке работает Ваш сайт. По умолчанию Joomla и WordPress работают на utf-8. На cp1251 обычно работают только самописные сайты или сайты отечественного производства. Если сайт работает на utf-8, а база данных будет в cp1251, то могут возникнуть проблемы с отображением русских символов. Чтобы этого не произошло, следите за тем, чтобы кодировки сайта и БД всегда совпадали.

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

отменить ответ