Как сделать сайт с базой данных mysql
Перейти к содержимому

Как сделать сайт с базой данных mysql

  • автор:

MySQL — создание и управление базами данных

Для каждого сайта мы рекомендуем создавать отдельную базу данных. Для создания новой базы данных перейдите в раздел Базы данныхпанели управления хостингом, а затем выберите кнопку Создать базу. В новом окне введите имя базы и нажмите кнопку Создать. В меню Принадлежность из выпадающего списка выберите сайт, который будет использовать данную базу, нажмите на кнопку Сохранить. Далее нажмите на кнопку Добавить пользователя, где из выпадающего списка выберите необходимого MySQL-пользователя. В поле Права рекомендуется установить значение Полный доступ. Далее необходимо нажать кнопку Создать. На этом настройка завершена. Теперь вы можете использовать базу данных для размещения нового сайта.

Подключение к серверу MySQL

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

  • Адрес сервера баз данных (хост): login.mysql, где login — уникальное имя услуги хостинга (указано в верхней правой части панели управления).
  • Имя MySQL-пользователя (логин): login_mysql.
  • Для получения пароля MySQL-пользователя нажмите кнопку Сбросить пароль. Новый пароль будет отображен на экране.
  • При создании хостинга создается база данных с именем login_db.

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

Как войти в PHPMyAdmin?

Приложение PHPMyAdmin позволяет работать с базами данных через браузер. С его помощью вы можете редактировать содержимое базы, выполнять SQL-запросы, осуществлять резервное копирование и восстановление баз данных. Для доступа к PHPMyAdmin зайдите в панель управления хостингом, раздел Базы данных ->PHPMyAdmin. Используйте данные MySQL-пользователя для авторизации.

Дамп базы MySQL
  1. Экспорт дампа базы данных Для создания резервной копии зайдите в интерфейс PHPMyAdmin.
    • Слева на странице выберите нужную базу данных.
    • Перейдите на вкладку Экспорт.
    • При необходимости измените настройки экспорта и нажмите кнопку Вперед в нижней части страницы.

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

  • В левой колонке выберите новую базу данных.
  • Откройте вкладку Импорт.
  • Нажмите на кнопку Выберите файл и укажите файл дампа, сохраненный на вашем компьютере.
  • Задайте кодировку файла (обычно она совпадает с кодировкой сайта).
  • При необходимости измените настройки импорта и нажмите кнопку Вперед, дождитесь окончания импорта.

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

Для создания дампа базы данных выполните команду:

mysqldump -y -f -q —default-character-set=binary —create-options —single-transaction —skip-extended-insert —add-drop-table -h dbhost -u dbuser -pdbpassword dbname > dump.sql

  • dbhost — адрес сервера баз данных
  • dbuser — имя MySQL-пользователя
  • dbpassword — пароль MySQL-пользователя (пишется слитно с параметром -p)
  • dbname — название базы данных
  • dump.sql — название дампа базы данных. Дамп будет создан в текущем каталоге

Для импорта дампа в базу данных выполните команду:

mysql -h dbhost -u dbuser -pdbpassword dbname < dump.sql

Мы рекомендуем предварительно создать новую базу данных и выполнить в нее импорт дампа. Дамп базы данных должен быть загружен на хостинг (см. статью FTP — загрузка файлов на сервер )

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

Удаленный доступ к базе данных MySQL
Изменение кодировки базы данных по умолчанию
  1. В левой колонке выберите нужную базу данных.
  2. Перейдите на вкладку Операции.
  3. В блоке Сравнение выберите utf8_general_ci.
  4. Нажмите кнопку Вперед.

Рекомендуется выбирать кодировку в соответствии с требованиями CMS или рекомендациями разработчика.

utf8_general_ci или utf8_unicode_ci — подходит для большинства CMS.

utf8mb4_unicode_ci или utf8mb4_unicode_520_ci — подходит для новых установок CMS на MySQL 5.6.

utf8mb4_0900_ai_ci — подходит для новых установок CMS на MySQL 8.

Информация для клиентов: +7 (495) 783-3-783; info@r01.ru
Техническая поддержка: +7 (495) 783-3-783; support@r01.ru
Центральный офис: г. Москва, Большой Гнездниковский переулок, дом 1, строение 2 ( м. «Тверская», выход №9, Бизнес-Центр «Вознесенский»).

#15 — Создание базы данных и подключение к ней

#15 - Создание базы данных и подключение к ней

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

Видеоурок

Материалы для курса

Чтобы скачивать материалы к видеокурсам необходимо оформить подписку на сайт

Создание PHP+MySQL сайта: от простого к сложному — шаг первый

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

1. Подготовка базы данных. Создаём первую таблицу в БД MySQL

Создаём новую базу данных, например «mysite». Лично я привык работать с кодировкой UTF-8, по-этому сразу оговорюсь: проследите, чтобы все текстовые файлы сайта, сама база, таблицы и поля таблиц были в одной кодировке.
В новой базе делаем таблицу. Назовём её «pages». В этой таблице будут храниться статические страницы будущего сайта и информация о них. Таблица должна содержать следующие поля:

  • page_id — идентификатор страницы (SMALLINT, primary key, auto_increment);
  • page_alias — псевдоним страницы для строки адреса ЧПУ (VARCHAR, 255);
  • page_title — название страницы в окне браузера (VARCHAR, 255);
  • page_meta_d — мета описание страницы для тега meta description (VARCHAR, 255);
  • page_meta_k — мета ключевые слова для тега meta keywords (VARCHAR, 255);
  • page_h1 — заголовок страницы (VARCHAR, 255);
  • page_s_desc — краткое описание материала, например если материалы сайта будут в виде блога (TEXT);
  • page_content — основной текст страницы, который будет выводиться в центральную колонку сайта (TEXT);
  • page_publish — содержит «Y» — если страница опубликована, или «N» — если она скрыта (CHAR, по умолчанию «Y»).

Сразу после создания таблицы вставляем в неё значения для главной страницы сайта. В поле «page_alias» для главной страницы предлагаю вставить значение «home». Метатеги — соответственно тематике всего сайта. Таким же образом можно посоздавать другие страницы, например «О компании» с алиасом «about» и своими метатегами, или «Контакты» с алиасом «contacts» и т.д.

2. Создаём файл конфигурации сайта

В корневой папке сайта, которая должна быть пуста на данном этапе, создаём папочку «cfg», в ней с помощью .htaccess закрываем доступ директивой «deny from all». Создаём файл core.php следующего содержания:

// MYSQL
class MyDB
var $dblogin = «root»; // ВАШ ЛОГИН К БАЗЕ ДАННЫХ
var $dbpass = «»; // ВАШ ПАРОЛЬ К БАЗЕ ДАННЫХ
var $db = «mysite»; // НАЗВАНИЕ БАЗЫ ДЛЯ САЙТА
var $dbhost=»localhost»;

var $link;
var $query;
var $err;
var $result;
var $data;
var $fetch;

function connect() $this->link = mysql_connect($this->dbhost, $this->dblogin, $this->dbpass);
mysql_select_db($this->db);
mysql_query(‘SET NAMES utf8’);
>

function close() mysql_close($this->link);
>

function run($query) $this->query = $query;
$this->result = mysql_query($this->query, $this->link);
$this->err = mysql_error();
>
function row() $this->data = mysql_fetch_assoc($this->result);
>
function fetch() while ($this->data = mysql_fetch_assoc($this->result)) $this->fetch = $this->data;
return $this->fetch;
>
>
function stop() unset($this->data);
unset($this->result);
unset($this->fetch);
unset($this->err);
unset($this->query);
>
>

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

Если Вы работаете в среде Windows, я могу порекоммендовать использовать редактор Notepad++. В этом редакторе есть нумерация строк, и он легко переводит текст из одной кодировки в другую. ВНИМАНИЕ! Если Вы работаете в кодировке UTF-8 — конвертируйте файлы в UTF-8 without BOM — это поможет избежать проблем в будущем.

3. Создаём index.php — главный контроллер сайта

Файл конфигурации создан. Теперь в корневой папке сайта создаём index.php — это и будет основной скрипт сайта, своего рода «главный контроллер». Содержание файла index.php:

define(«INDEX», «»); // УСТАНОВКА КОНСТАНТЫ ГЛАВНОГО КОНТРОЛЛЕРА

require_once($_SERVER[DOCUMENT_ROOT].»/cfg/core.php»); // ПОДКЛЮЧЕНИЕ ЯДРА

// ПОДКЛЮЧЕНИЕ К БД
$db = new MyDB();
$db->connect();

// ГЛАВНЫЙ КОНТРОЛЛЕР
switch ($_GET[option]) case «page»:
include($_SERVER[DOCUMENT_ROOT].»/com/page.php»);
break;
default:
include($_SERVER[DOCUMENT_ROOT].»/com/home.php»);
break;
>

include ($_SERVER[DOCUMENT_ROOT].»/template.php»);
$db->close();

Переменная $_GET[option] будет указывать главному контроллеру какой компонент сайта загружать при запросе. Сейчас в нашем сайте предусмотрено только два компонента: «страница» и «главная страница» (в принципе можно обойтись и одним компонентом вывода обычной страницы, но часто вид главной страницы сайта отличается от обычных страниц пунктов меню). Логика работы главного контроллера такова: из URL строки извлекается название нужного компонента (значение переменной $option), в зависимости от его значения подключается файл самого компонента (содержится в папке /com). Файл компонента выполняет все необходимые работы, извлекает из базы данные и записывает их в переменные, для передачи в шаблон дизайна. В самом конце подключается файл дизайна сайта, в который и передаются все переменные и данные, извлечённые в компонентах. Это звучит намного сложнее, чем работает.

4. Создаём компонент вывода обычной страницы

В корне сайта создаём папочку «com» — в ней будут храниться файлы компонентов. Компонент сайта, в моём понимании — это файл, в котором происходит обработка данных для разных разделов сайта. Например компонент обычной страницы извлекает из базы данных название, описание и текст материала, и записывает их в переменные $title, $meta_d, $meta_k, $content и др. Эти данные потом передаются в шаблон дизайна (под каждый компонент можно создавать свой шаблон дизайна) и выводятся пользователю в виде HTML-страницы. Например, компонент каталога, который можно создать в будущем, выполнял бы почти то же самое, но с данными про товары — а там своя специфика, другие поля в таблице, итд. По-этому для каждого функционального раздела сайта стоит создавать отдельный компонент. В схеме MVC (Model-View-Controller) компонент выполняет роль модели.

Создаём в папке «com» файл «page.php». Содержимое файла следущее:

/* КОМПОНЕНТ СТРАНИЦЫ */
$alias = $_GET[alias];
$query = «SELECT * FROM pages WHERE page_alias='».$alias.»‘ AND page_publish=’Y’ LIMIT 1″;
$db->run($query);
$db->row();
// ПЕРЕМЕННЫЕ КОМПОНЕНТА
$id = $db->data[page_id];
$alias = $db->data[page_alias];
$title = $db->data[page_title];
$h1 = $db->data[page_h1];
$meta_d = $db->data[page_meta_d];
$meta_k = $db->data[page_meta_k];
$s_desc = $db->data[page_s_desc];
$component = $db->data[page_content];
// ЕСЛИ СТРАНИЦЫ НЕ СУЩЕСТВУЕТ
if (!$id) header(«HTTP/1.1 404 Not Found»);
$component = «ОШИБКА 404! Данной страницы не существует»;
>
$db->stop();

5. Создаём компонент вывода главной страницы

Главная страница у нас в базе данных хранится под псевдонимом «home», и пока по своей структуре не отличается от обычных страниц сайта — это просто статья. Тем не менее создадим для неё отдельный компонент — на перспективу, так сказать.

Содержимое компонента «home.php» в папке «com» почти совпадает с содержимым компонента обычной страницы, за исключением строки запроса к базе и названия компонента. Строка запроса теперь выглядит так:

$query = «SELECT * FROM wx_pages WHERE page_alias=’home’ LIMIT 1»;

6. Создаём шаблон дизайна всего сайта

В корне сайта создаём файл template.php. По сути это обычный макет web-дизайна в формате HTML+CSS, только с PHP переменными в нужных местах. Между тегами title вставочка , в центральной колонке сайта вставочка и так по всему шаблону расставляем нужные переменные, которые объявлены в компонентах.

В корневой папке также должны быть папки «css» и «images» для элементов дизайна. В файле /css/style.css — можно настроить стили по своему усмотрению.

7. Чистые ссылки и файл .htaccess

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

# ЗАПРЕЩЁННЫЕ ФАЙЛЫ
RewriteRule .htaccess — [F]
RewriteRule template.php — [F]

# ПРАВИЛА mod_rewrite
RewriteRule page/([a-z0-9_-]+)([\/])\.htm$ index.php?option=page&alias=$1 [L]

В будущем мы будем дописывать правила для компонентов поиска, каталога, блога статей и т.д. Смысл один: преобразовать ссылки вида «mysite.com/index.php?option=pages&alias=about» в ссылку вида «mysite.com/pages/about.htm» — смотрится довольно красиво. Старайтесь в разработке избегать массива $_GET в целях безопасности и не надеяться на него. Целесообразно хранить в нём только параметры для главного контроллера (переменная $option) и для компонента (переменная $alias).

Также в каждой папке сайта «на всякий случай» создайте пустой файл index.html — это нужно для того, чтобы при обращении к каталогу через адресную строку ничего не отображалось.

Как создать базу данных MySQL в phpMyAdmin

База данных (БД) — это организованная структура, предназначенная для хранения/изменения/обработки взаимосвязанной информации. MySQL — это система управления базами данных (СУБД). В свою очередь, phpMyAdmin — это специальное веб-приложение, предназначенное для администрирования СУБД MySQL. В нашей статье мы подробно расскажем, как работать с интерфейсом phpMyAdmin, как создать базу данных в этом приложении и как ее потом удалить.

Как создать базу данных MySQL в phpMyAdmin.

Изображение от Freepik.

Создание новой базы в phpMyAdmin: инструкция 2024

Переходим в phpMyAdmin. Для создания базы данных выбираем команду «Создать БД» в левой части интерфейса.

Создать БД.

В поле «Имя базы данных» придумываем название, обычно его берут из названия сайта/домена. Кодировку оставляем «utf8mb4_general_ci». Нажимаем кнопку «Создать».

Имя базы данных.

В столбце слева отобразится новая база данных. Для примера создадим таблицу с пользователями — назовем ее «users». Количество столбцов зададим «4» (если вы планируете собирать больше данных о пользователях, то введите большее число). Нажимаем кнопку «Вперед».

Таблица в БД.

Теперь в режиме конструктора мы должны разработать структуру таблицы «users».

    Первое поле — поле идентификации (userID). Тип — целочисленный (INT), так как это автоинкремент. Поэтому сразу укажем это, нажав на галочку в пункте «A…I». Имя индекса — «PRIMARY» (первичный ключ), так как значения в поле «userID» повторяться не будут. Нажимаем кнопку «Вперед».

Первое поле — поле идентификации (userID).

Primary.

Второе поле — userlogin.

Третье поле — пароли (userpassword).

Вы можете создать столько полей, сколько нужно для вашего проекта. Для примера мы ограничимся этими тремя полями. Нажимаем «Сохранить».

Сохранение.

Отлично, база данных создана успешно.

Как работать с интерфейсом phpMyAdmin

После сохранения в базе появится таблица «users». При переходе в нее отобразится ее структура, где указаны названия атрибутов, типы данных, какой из полей будет автоинкрементом (будет нумероваться автоматически). Желтый ключ показывает, что это первичный ключ, а серый — поле с уникальными значениями.

Структура БД.

Во вкладке «Обзор» можно посмотреть саму таблицу. Так как мы создали новую БД, она пока пустая.

Обзор.

Попробуем вставить одну строку в таблицу. Для этого нажимаем на «Вставить». Поле userID формируется автоматически, а userlogin и userpassword заполняем самостоятельно. Нажимаем кнопку «Вперед».

Добавление строки.

Во вкладке «Обзор» появились данные о пользователе, которые мы добавили ранее. Их можно изменить, копировать, удалить или экспортировать.

Обновление БД.

Теперь вы знаете больше о том, как работать с базами данных в phpMyAdmin.

Заключение

Без базы данных не обходится практически ни один проект в интернете. Поэтому навык работы с панелью phpMyAdmin — необходимость для программистов и вебмастеров. Надеемся, наша статья была полезной!

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *