Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
39 / 9 / 1
Регистрация: 16.02.2018
Сообщений: 251
1

Где и как создавать БД перед началом работы

12.11.2018, 12:54. Показов 1406. Ответов 23
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток форумчане. Возник такой вопрос. Начинаю работать с БД. Знаю, что перед работой ее нужно создать в phpMyAdmin. Следовательно возникает вопрос: где и как ее создавать? Как установить?

Я пользуюсь Denwer как локальным сервером.

Создавать ее нужно, при разработке, на локальном хосте? Или можно создать уже на хостинге будущего сайта? Если создавать нужно на локальном, то как потом ее от туда переносить? Ведь все запросы в коде будут идти на локальную БД, получается нужно будет изменять запросы? Извините если где-то чушь говорю))

Я просто понятия пока что не имею как все это делается. А в интернете без всяких объяснений начинают давать готовый код подключения и ни слова о создании БД.

Надеюсь на помощь.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2018, 12:54
Ответы с готовыми решениями:

Изображение делает скачек вверх перед началом работы эффекта parallax
Я недавно начал изучать создание сайтов, tml, css и javascript. Делаю сайт с эффектом parallax, на...

Изображение делает скачек вверх перед началом работы эффекта parallax
Доброго времени суток! Этот вопрос связан с javascript, но в том разделе не получил ответа, и...

Как убрать задержку перед началом повтора?
Ранее вот в этой теме https://www.cyberforum.ru/windows/thread1596790.html мне объяснили как в...

5 секунд рекламы перед началом просмотра сериалов или фильмов. как избавиться навсегда?
5 секунд рекламы перед началом просмотра сериалов или фильмов. как избавиться навсегда?

23
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
12.11.2018, 13:23 2
О создании БД надо читать в документации по БД. Там все через sql запросы.

Сами запросы можно запускать разными способами:
1) Вручную через консольку.
2) Через графический интерфейс. Например через PhpMyAdmin
3) Через скрипт миграций. Оптимальный вариант. Пишите скрипт который выполнит sql команды в соответствующем порядке и только один раз.

Цитата Сообщение от Пурыга Никита Посмотреть сообщение
Ведь все запросы в коде будут идти на локальную БД, получается нужно будет изменять запросы?
Нет, нужно менять подключение, а данные для подключения выносят в конфиги. Сам конфиг на каждом компе свой.
1
39 / 9 / 1
Регистрация: 16.02.2018
Сообщений: 251
12.11.2018, 13:29  [ТС] 3
Цитата Сообщение от tarasalk Посмотреть сообщение
Нет, нужно менять подключение, а данные для подключения выносят в конфиги. Сам конфиг на каждом компе свой.
Т.е. нужно просто поменять где-то в одном месте данные для подключения и все?

Добавлено через 22 секунды
А как через php выполнять SQL запросы?

Добавлено через 1 минуту
Т.е. как добавить, удалить, найти в базе, обновить? Вот именно эти 4 пункта интересуют.
0
1263 / 960 / 226
Регистрация: 01.10.2018
Сообщений: 3,717
12.11.2018, 14:12 4
Лучший ответ Сообщение было отмечено Пурыга Никита как решение

Решение

Цитата Сообщение от Пурыга Никита Посмотреть сообщение
Т.е. нужно просто поменять где-то в одном месте данные для подключения и все?
Да, причем не задавайте реальные данные доступа, используемые на сервере. Это из того немногого, что должно отличаться между локальной копией и работающей копией.

Цитата Сообщение от Пурыга Никита Посмотреть сообщение
А как через php выполнять SQL запросы?
Начните с написания запросов в дампах. Потом будете писать установщики, сценарии миграции и т.п.

Цитата Сообщение от Пурыга Никита Посмотреть сообщение
Т.е. как добавить, удалить, найти в базе, обновить? Вот именно эти 4 пункта интересуют.
Изначально вы не про это спрашивали.

Добавлено через 4 минуты
Цитата Сообщение от Пурыга Никита Посмотреть сообщение
Я пользуюсь Denwer как локальным сервером.
Это не сервер, а сборка из нескольких программ, причем устаревшая. MySQL и phpMyAdmin там должны быть. Если есть, пишите дампы и пробуйте импортировать из командной строки или phpMyAdmin.
1
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
12.11.2018, 14:14 5
Цитата Сообщение от Пурыга Никита Посмотреть сообщение
Т.е. как добавить, удалить, найти в базе, обновить? Вот именно эти 4 пункта интересуют.
Вот что за вопросы? Вы даже БД не указали.

Читайте документацию.
1
39 / 9 / 1
Регистрация: 16.02.2018
Сообщений: 251
12.11.2018, 14:18  [ТС] 6
Спасибо всем. Думаю этут тему можно считать закрытой.
0
1263 / 960 / 226
Регистрация: 01.10.2018
Сообщений: 3,717
12.11.2018, 14:31 7
Пурыга Никита, все-таки еще сделаю одно уточнение. Базу данных и соответствующего пользователя можете создать из phpMyAdmin. Это обычно делается за раз при создании пользователя. Имена у базы данных и пользователя при этом обычно совпадают. В обычных условиях вы не должны работать с базой данных "из-под рута", но для создания базы данных вам могут понадобиться привилегии рута.
0
39 / 9 / 1
Регистрация: 16.02.2018
Сообщений: 251
12.11.2018, 14:34  [ТС] 8
Вот смотрите. У меня куча пользователей там, не могу разобраться.
Миниатюры
Где и как создавать БД перед началом работы  
0
1263 / 960 / 226
Регистрация: 01.10.2018
Сообщений: 3,717
12.11.2018, 14:42 9
К предыдущему сообщению. На виртуальном хостинге вам никто не даст возможности работать из-под рута. Там для создания базы данных и соответствующего пользователя базы данных вы должны использовать панель хостинга. Базы данных часто хранятся на том же сервере, что и файлы. В этом случае и на сервере, и на локальном компьютере при подключении к базе данных можно использовать имя localhost.

Добавлено через 2 минуты
Цитата Сообщение от Пурыга Никита Посмотреть сообщение
Вот смотрите. У меня куча пользователей там, не могу разобраться.
Это нормальная картина. И это не куча. Создавайте нового пользователя с ограниченными привилегиями и попутно проставляйте чекбокс о создании одноименной базы данных.
1
39 / 9 / 1
Регистрация: 16.02.2018
Сообщений: 251
12.11.2018, 14:46  [ТС] 10
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Данные для подключения
$db_host = "localhost"; 
$db_user = "user"; // Логин
$db_password = "123"; // Пароль 
$db_base = 'mybase'; // Имя 
$db_table = "mytable"; // Имя Таблицы 
 
// Подключаемся
$mysqli = new mysqli($db_host,$db_user,$db_password,$db_base);
 
// Если есть ошибка соединения, выводим её и убиваем подключение
if ($mysqli->connect_error) {
    die('Ошибка : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
Добавлено через 30 секунд
Вот что я настрочил на основе мануала. Мне такую операцию нужно выполнять 1 раз в файле где используем БД?

Добавлено через 1 минуту
А потом в конце разрывать соединение?
0
1263 / 960 / 226
Регистрация: 01.10.2018
Сообщений: 3,717
12.11.2018, 14:55 11
Цитата Сообщение от Пурыга Никита Посмотреть сообщение
Мне такую операцию нужно выполнять 1 раз в файле где используем БД?
Да, примерно так. Только вынесите определение данных для доступа в отдельный файл. Как я писал выше, у вас на локальном компьютере и на рабочем сервере эти данные должны различаться. Может совпадать только имя хоста, если это localhost. Имя таблицы тут вообще не к месту.
0
39 / 9 / 1
Регистрация: 16.02.2018
Сообщений: 251
12.11.2018, 14:57  [ТС] 12
Цитата Сообщение от estic Посмотреть сообщение
таблицы тут вообще не к месту
Там дальше будет код добавления в таблицу, сразу решил ее занести, чтобы переменные были в 1 месте

Добавлено через 35 секунд
Цитата Сообщение от estic Посмотреть сообщение
Да, примерно так. Только вынесите определение данных для доступа в отдельный файл.
Т.е. лучше вынести в отдельный файл и подключать через include ?
0
1263 / 960 / 226
Регистрация: 01.10.2018
Сообщений: 3,717
12.11.2018, 15:00 13
К предыдущему сообщению. Переменные с данными лучше инкапсулировать в каком-нибудь классе или функции.
0
39 / 9 / 1
Регистрация: 16.02.2018
Сообщений: 251
12.11.2018, 15:01  [ТС] 14
А почему лучше не подключать с помощью include?
0
1263 / 960 / 226
Регистрация: 01.10.2018
Сообщений: 3,717
12.11.2018, 15:01 15
Цитата Сообщение от Пурыга Никита Посмотреть сообщение
Т.е. лучше вынести в отдельный файл и подключать через include ?
Да, только require.
0
39 / 9 / 1
Регистрация: 16.02.2018
Сообщений: 251
12.11.2018, 15:01  [ТС] 16
Просто до ООП еще не добрался
0
1263 / 960 / 226
Регистрация: 01.10.2018
Сообщений: 3,717
12.11.2018, 15:02 17
Цитата Сообщение от Пурыга Никита Посмотреть сообщение
Просто до ООП еще не добрался
Можно в обычной функции, т.е. даже не в методе.
0
39 / 9 / 1
Регистрация: 16.02.2018
Сообщений: 251
12.11.2018, 15:02  [ТС] 18
Цитата Сообщение от estic Посмотреть сообщение
Да, только require.
Встречный вопрос. Чем require отличается от include? Можете дать ссылочку на мануал русскоязычный?
0
1263 / 960 / 226
Регистрация: 01.10.2018
Сообщений: 3,717
12.11.2018, 15:06 19
PHP
1
2
3
function connect_db()
{
    require(...
Добавлено через 1 минуту
Цитата Сообщение от Пурыга Никита Посмотреть сообщение
Можете дать ссылочку на мануал русскоязычный?
В официальном руководстве поддерживается русский язык, по крайней мере частично. Если кратко, все критичные подключения делаете через require.
0
39 / 9 / 1
Регистрация: 16.02.2018
Сообщений: 251
12.11.2018, 15:10  [ТС] 20
PHP
1
2
3
4
function connect_db()
{
    require($_SERVER['DOCUMENT_ROOT'] . "/путь");
}
Вот так?
0
12.11.2018, 15:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2018, 15:10
Помогаю со студенческими работами здесь

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

Евент перед началом инициализации контрола
Нужно сделать ивент перед началом инициализации контрола, пробовал сделать так, но ничерта не...

Вывод сообщения перед началом действия оператора
Суть в том, у меня есть табличка Студенты. Если я удаляю( а именно я копирую в другую таблицу...

Что почитать перед началом изучения языка
Привет всем! Такая проблема, пытаюсь учить язык С вначале все понятно, но чем дальше, тем все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru