Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Используем базу данных MySQL 
:(
    Опции темы
DezmASter
Дата 22.4.2007, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дизайнер :)
***


Профиль
Группа: Участник
Сообщений: 1520
Регистрация: 3.2.2006
Где: Украина, Запорожь е

Репутация: нет
Всего: 109



MySql - Система Управления Базами Данных (СУБД). Основное отличие от всех остальных СУБД это то, что она является бесплатной. В силу того, что mysql бесплатна, она поддерживается очень многими хостинг провайдерами.

Здесь я расскажу как связать php и mysql т.е. как получить данные из базы данных mysql в php скрипт.

Ну вообще-то это не так сложно. Всё, что нужно знать:

    * Хост - адрес сервера баз данных mysql
    * Имя базы данных
    * Имя пользователя
    * Пароль - пароль для доступа к БД
    * Некоторые sql команды 

Далее я буду предполагать, что у вас уже заведена база данных на сервере хостера или на домашнем компьютере (mysql можно скачать с сайта http://mysql.com).
Итак, алгоритм такой:

   1. Устанавливаем соединение с сервером
   2. Выбираем нужную базу данных
   3. Делаем запрос к серверу баз данных (sql запрос)
   4. Обрабатываем результат запроса, если это необходимо
   5. Закрываем соединение (отключаемся от сервера БД) 

По части php, чтобы работать с БД надо знать несколько функций (полный список смотри в php мануале).

Код

mysql_connect();
mysql_select_db();
mysql_query();
mysql_fetch_array();
mysql_close();


Это тот минимум, который позволит вам устанавливать соединение с сервером mysql, выбирать базы данных и делать запросы к серверу баз данных.
Для справки!

Все php функции которые предназначены для работы с базой данных mysql имеют префикс mysql_

Я не буду рассматривать синтаксис каждой функции. Надеюсь у вас есть php manual (его можно скачать с сайта http://php.net). Рассмотрим эти функции в деле т.е. на примере.

Допустим в нашей базе данных храниться одна таблица со следующей структурой:

имя поля тип(длина) описание
id целый(2) уникальный номер
name символьный(100) имя
tel символьный(20) телефон

Таблица имеет имя: customer, а наша база данных называется database.

Допустим, что ваши данные для подключения к серверу mysql Такие:

    * Хост: localhost
    * Имя пользователя: guest
    * Пароль: mypassword 

Для начала необходимо создать нашу таблицу customer. Напишем скрипт который создаст в базе данных database таблицу customer. Назовём файлик как install.php.

Файл install.php

Код

<?php

// Данные для mysql сервера
$dbhost = "localhost"; // Хост
$dbuser = "guest"; // Имя пользователя
$dbpassword = "mypassword"; // Пароль
$dbname = "database"; // Имя базы данных

// Подключаемся к mysql серверу
$link = mysql_connect($dbhost, $dbuser, $dbpassword);

// Выбираем нашу базу данных
mysql_select_db($dbname, $link);

// Создаём таблицу customer
// т.е. делаем sql запрос
$query = "create table customer (id int(2) primary key
auto_increment, name varchar(100), tel varchar(20))";
mysql_query($query, $link);

// Закрываем соединение
mysql_close($link)

?>


Функция mysql_connect() возвращает идентификатор соединения. Этот идентификатор необходимо указывать во всех mysql функциях. Можно провести аналогию с указателем на файл (file pointer), который используется функциями по работе с файлами. В параметрах функции мы указали хост, имя пользователя и пароль к базе данных.

На сервере mysql храниться не только ваша база данных. Сервер может обслуживать тысячи таких баз данных.

Поэтому, чтобы получить доступ к своей базе данных, необходимо выбрать её.

Выбор базы данных осуществляется функцией mysql_select_db(). В параметрах указывается: имя требуемой базы данных $dbname и идентификатор соединения $link, который мы получили с помощью функции mysql_connect().

После того как мы подключились к серверу mysql и выбрали нашу базу данных, мы делаем sql запрос.

Литературу по языку sql вы найдёте на сайте mysql.ru. В запросе указываем, что мы хотим создать таблицу с именем customer и со структурой приведённой в таблице выше. Запрос к серверу mysql осуществляется с помощью функции mysql_query(). В параметрах указывается сам запрос $query и идентификатор соединения $link.

И, наконец, отключаемся от сервера (закрываем соединение) функцией mysql_close().

В параметрах указываем идентификатор того соединения, которое нужно закрыть.
Для справки!

На самом деле скрипт может устанавливать несколько соединений с сервером mysql.

Всё зависит от хостинга на котором вы сидите.

Если вы всё сделали правильно, то на сервере mysql в вашей базе данных, появится таблица customer.

После того как мы создали таблицу, её надо заполнить т.е. записать в нёё какие-нибудь данные (записи).

Напишем скрипт, который будет добавлять запись в нашу таблицу. Назовём файл скрипта как insert.php.

Файл insert.php

Код

<?php

// Данные для mysql сервера
$dbhost = "localhost"; // Хост
$dbuser = "guest"; // Имя пользователя
$dbpassword = "mypassword"; // Пароль
$dbname = "database"; // Имя базы данных

// Подключаемся к mysql серверу
$link = mysql_connect($dbhost, $dbuser, $dbpassword);

// Выбираем нашу базу данных
mysql_select_db($dbname, $link);

// Добавляем запись в нашу таблицу customer
// т.е. делаем sql запрос
$query = "insert into customer values(0,'Иванов Иван Иванович',
'(095) 555-55-55')";

mysql_query($query, $link);

// Закрываем соединение
mysql_close($link);

?>


Посмотрев этот скрипт вы заметете, что он отличается от предыдущего только строкой запроса $query.

Теперь когда мы умеем записывать данные в базу данных, перейдём к процедуре запроса данных из базы mysql.

Для этого напишем скрипт и назовём файлик select.php.

Файл select.php

Код

<?php

// Данные для mysql сервера
$dbhost = "localhost"; // Хост
$dbuser = "guest"; // Имя пользователя
$dbpassword = "mypassword"; // Пароль
$dbname = "database"; // Имя базы данных

// Подключаемся к mysql серверу
$link = mysql_connect($dbhost, $dbuser, $dbpassword);

// Выбираем нашу базу данных
mysql_select_db($dbname, $link);

// Добавляем запись в нашу таблицу customer
// т.е. делаем sql запрос
$query = "select * from customer";

// Запрашиваем
$result = mysql_query($query, $link);

while($rows = mysql_fetch_array($result, mysql_assoc))
{
printf("id:%d, name:%s, tel:%s",
rows['id'],rows['name'],rows['tel']);
}

// Закрываем соединение
mysql_close($link);

?>


Ну тут... всё понятно smile smile smile Естественно изменилась строка запроса $query, которая теперь содержит sql-оператор select. Так же добавился небольшой код while() { .... }.

Скажу только, что функция mysql_fetch_array() обрабатывает результат запроса и возвращает массив полей текущей! Внимание! текущей строки результата.

Константа mysql_assoc указывает на то, что функция должна вернуть ассоциативный массив полей.

После того как функция mysql_fetch_array() обработает все строки результата, она вернёт значение false и тогда цикл while() - не выполниться.

Тут в цикле используем функцию printf(). Она очень похожа на эту же функцию в языке c.

Справку по функции printf() можете посмотреть в php мануале.

Надеюсь моя статья хоть немного помогла вам понять связь php и mysql. 

Автор: Бардин Павел,
Сайт автора: www.proger.ru

PM WWW ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0577 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.