воскресенье, 6 декабря 2009 г.

Взаимодействие PHP и MySQL

В этом посте расскажу о том, как с помощью PHP осуществлять запросы к базе данных на основе MySQL. Использовать для этого будем web-сервер apache 2 с установленным модулем PHP. Все эти три компоненты практически бесплатны и распространяются под лицензией GNU. Подробнее о том, как устанавливать PHP, Apache и MySQL постараюсь написать в одной из следующих статей. Сейчас же представим, что все это уже установлено и сконфигурировано у вас дома, либо вы используете хостинг с поддержкой PHP и MySQL.
Итак, пусть у нас в MySQL есть база world, а в ней таблица people с полями name и age, где name - это имя, а age - возраст человека. И мы ставим себе целью выбрать из этой таблицы всех людей моложе 20 лет. Очевидно, для этого нам надо использовать запрос SELECT.
Начнем. Создаем в папке, которую Apache считает корневой, файл со следующим содержанием
<!DOCTYPE html>
<html>
<head>
<title>Запрос к базе данных</title>
</head>
<body>
<?
//прописываем параметры для соединения с БД
$hostname='localhost';//Имя хоста с БД MySQL, в нашем случае это localhost
$dbName='world';//Имя базы данных, которая нам нужна
$dbUser='username';//Имяпользователя MySQL
$dbPasswd='password';//Его паролт
$dblink=mysql_connect($hostname,$dbUser,$dbPasswd) or exit (3); //Соединяемся с сервером или ошибка
$db_selected=mysql_select_db($dbName,$dblink) or exit(3);//Выбираем БД world
//Подготавливаем наш запрос SELECT
$query="SELECT * FROM people WHERE people.age<20";
//Отправляем запрос в базу
$result=mysql_query($query,$dblink);
//Функция mysql_query отправляет запрос $query по указателю $dblink на базу.
//Обрабатываем результат
while ($man=mysql_fetch_array($result))
//Функция mysql_fetch_array обрабатывает результат, занося по строчке из него в ассоциативный массив $man по полям, которые называются так же, как заголовки столбцов в MySQL
{
 echo "Name = ".$man['name']." Age= ".$man['age']."<br>";//выводим каждую строчки из результата на экран
};
?>
</body>
<html>
Сохраняем этот файл как testquery.php и переходим браузером по адресу http://your_host_name/testquery.php
Все готово) Apache запускает PHP скрипт, и тот выводит нам внутри вашей веб-страницы содержимое таблицы MySQL.

Комментариев нет: