Привязка к сайту PHP базы данных

Технические моменты создания сайтов и других Web-приложений.

Привязка к сайту PHP базы данных

Сообщение Gulia » 16 июл 2012, 13:39

Я не сильна в программировании на PHP, так как, в основном, приходилось использовать технологии Microsoft для создания сайтов. Но, пришлось столкнуться с РНР. Конечно, начальные знания у меня имеются, например такие, как считать простые данные с формы и обработать их с помощью PHP-скрипта. Но, вот как работать с базами данных, я не имею представления. Подскажите, пожалуйста, как это осуществляется в PHP, или где об этом можно почитать толковую информацию. А то в интернете информация вроде бы иметься, но толку от неё мало.
Аватар пользователя
Gulia
Продвинутый Юзер
 
Сообщений: 458
Зарегистрирован: 04 май 2012, 09:21

Re: Привязка к сайту PHP базы данных

Сообщение Oleg » 23 июл 2012, 06:04

Первое, что Вам нужно знать, так это то, что для программировании на РНР используется, как правило, базы данных MySQL. Для работы с этой базой данных, кроме самой базы данных, удобно иметь специальную утилиту, например phpMyAdmin (если Вы используете денвер, она уже идёт с ним в комплекте). Далее, если уже база данных создана и Вы хотите вызвать её со своего скрипта, сначала необходимо использовать функцию mysql_connect для создания соединения с базой данных. Например:
mysql_connect("localhost", $user, $pass)
or die("Could not connect: ".mysql_error()) ;
Потом, нужно выбрать её для работы:
mysql_select_db($db)
or die("Could not select database: ".mysql_error());
Oleg
Продвинутый Юзер
 
Сообщений: 286
Зарегистрирован: 04 июн 2012, 10:46

Re: Привязка к сайту PHP базы данных

Сообщение Gulia » 23 июл 2012, 09:15

Oleg, честно говоря, я не совсем Вас поняла. Да, я пока учусь на Денвере и в инструментах утилиту phpMyAdmin видила. Но, вот что до функции mysql_connect, как я поняла, нужно указать сервер, на котором размещена база данных, логин и пароль администратора базы данных. А как же знать, какую именно базу данных открывать для работы? Ведь на сервере может быть несколько баз данных? Или это делается функцией mysql_select_db, а переменная $db это и есть имя базы данных? Хотелось ещё бы знать, как создавать таблицы базы данных.
Аватар пользователя
Gulia
Продвинутый Юзер
 
Сообщений: 458
Зарегистрирован: 04 май 2012, 09:21

Re: Привязка к сайту PHP базы данных

Сообщение Oleg » 24 июл 2012, 08:40

Извините Gulia, если я не совсем ясно выразился. Какую именно базу данных открывать для работы, как Вы правильно поняли, нужно указывать с помощью функции mysql_select_db, и да $db – это переменная, которая хранит имя базы данных. Создания таблицы в базе данных осуществляется в самом скрипте с помощью запросов SQL или с помощью инструмента phpMyAdmin. Если Вам нужно создать таблицу базы данных в скрипте, то делается это приблизительно так:
$sql = "CREATE TABLE Persons
(
Field1 varchar(15),
Field2 varchar(15),
)";
Oleg
Продвинутый Юзер
 
Сообщений: 286
Зарегистрирован: 04 июн 2012, 10:46

Re: Привязка к сайту PHP базы данных

Сообщение Gulia » 25 июл 2012, 06:33

Значит, в такой способ создастся база данных с двумя полями типа varchar. Это понятно, спасибо большое. А если мне нужно, как и в каждой таблицы базы данных, чтобы у меня имелось ключевое поле, то есть поле с id, где будут автоматически проставляться индексы по мере заполнения таблицы. Есть ли такая возможность осуществить что-то подобное запросами SQL в самом скрипте? И как мне можно осуществить связь между таблицами, то есть показать внешние связи, когда одно поле одной таблицы равно другому полю другой таблицы?
Аватар пользователя
Gulia
Продвинутый Юзер
 
Сообщений: 458
Зарегистрирован: 04 май 2012, 09:21

Re: Привязка к сайту PHP базы данных

Сообщение GrBear » 25 июл 2012, 07:29

Сороконожку спросили: — “Как ты бегаешь и в ногах не путаешься?” Та побежала дальше, задумалась и … упала.

Создавать базу на сайте и затем описывать правила управления ею — это попытка создать аналог mySQL с системой управления admin и кучу плагинов для организации ввода-вывода. Все это уже есть и хорошо описано.

Для начала надо разобраться с архитектурой PHP и легко не будет (взял, прикрутил и все работает). Затем понять, что именно требуется и подобрать плагин. Прочитать плагин и создать базу под его архитектуру (если она не описана в плагине).

А изобретать велосипед никому не возбраняется.
GrBear
Чайник
 
Сообщений: 25
Зарегистрирован: 16 май 2012, 07:55

Re: Привязка к сайту PHP базы данных

Сообщение Oleg » 25 июл 2012, 08:28

По-моему, если человек хочет научиться делать что-то сам, то это только плюс.
Относительно ключевого поля, то да, есть такая возможность создать поле, которое будет автоматически инкрементировать значения очередной записи таблицы. Естественно, такое поле должно иметь тип данных INT и дополнительно нужно указать, что это ключевое поле с автоинкрементом выражениям AUTO_INCREMENT PRIMARY KEY, то есть, если расширить наш предыдущий пример таким ключевым полем, он приблизительно будет иметь следующий вид:
$sql = "CREATE TABLE Persons
(
FieldKey INT AUTO_INCREMENT PRIMARY KEY,
Field1 varchar(15),
Field2 varchar(15),
)";
Oleg
Продвинутый Юзер
 
Сообщений: 286
Зарегистрирован: 04 июн 2012, 10:46

Re: Привязка к сайту PHP базы данных

Сообщение Gulia » 25 июл 2012, 10:18

Создавать базу на сайте и затем описывать правила управления ею — это попытка создать аналог mySQL с системой управления admin и кучу плагинов для организации ввода-вывода. Все это уже есть и хорошо описано.

Я не считаю, что всё готовенькое выход, что-то сломается, перестанет работать и что тогда? Начинать изучать и разбираться, что да как? Я лучше сейчас потрачу лишнее время, но получу те знания, которые мне необходимы для работы с этой базой данных.
Отдельное спасибо тем людям, которые, действительно, могут помочь и не ленятся это сделать.
Аватар пользователя
Gulia
Продвинутый Юзер
 
Сообщений: 458
Зарегистрирован: 04 май 2012, 09:21


Вернуться в Программирование для Web

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron