Главная страница статей --> Хитрости при программировании php, заметки по базам данных

Используем базу данных MySQL

Источник: realcoding.net

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

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

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

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

Итак, алгоритм такой:

Устанавливаем соединение с сервером
Выбираем нужную базу данных
Делаем запрос к серверу баз данных (SQL запрос)
Обрабатываем результат запроса, если это необходимо
Закрываем соединение (отключаемся от сервера БД)
По части 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);

?>

Ну тут... всё понятно :) :) :) Естественно изменилась строка запроса $Query,
которая теперь содержит SQL-оператор SELECT. Так же добавился небольшой код while() { .... }.
Скажу только, что функция mysql_fetch_array() обрабатывает результат запроса и возвращает массив полей текущей! Внимание! текущей строки результата.

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

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

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



Похожие статьи:
- Справочник по мета тегам
- AJAX? Atlas!
- MySQL для пользователя
- Использование команды UNION
- Безопасность при работе с WebMoney
- Движок для сайта своими руками. Часть вторая
- Пишем простейший текстовой счётчик
- Критерии выбора СУБД при создании информационных систем
- Применение класса myXTree
- Закачка файлов через PHP. Экономия.
- Как зарабатывать деньги с сайта
- Раскручиваем url
- Создание таблиц Excel на PHP


Оглавление | Обсудить на форуме | Главная страница сайта | Карта сайта |

Контакты
Редакция:
[0.001]