Любая программа на языке PHP, которая собирается работать с MуSQL базой данных, должна состоять из следующих обязательных базовых шагов:
1. Установить связь с MySQL сервером.
2. Выбрать базу данных для работы.
3. Посылать команды MySQL серверу и получать ответы.
4. Обработать результаты.
5. Закрыть связь с MySQL сервером.
Работа с БД из PHP осуществляется с помощью трех основных функций:
mysql_connect – соединение с сервером и базой данных;
mysql_query – универсальная функция отправки запросов к БД;
mysql_error – вывод ошибок.
Прежде, чем начать работать с базой данных из PHP, нужно установить соединение с сервером, на котором эта база находится.
Делается это с помощью функции PHP mysql_connect, которая принимает 3 параметра: имя хоста (сервера), имя пользователя, под которым мы работаем с базой и пароль для этого пользователя.
Если вы работаете на своем компьютере, то это будут 'localhost', 'root' и пароль в виде пустой строки (на некоторых серверах он тоже может быть root или 111). Если ваша база данных в Интернете – то эти данные дает вам хостер.
|
|
Создайте index.php – файл для работы с БД test с помощью PHP. Далее будете работать с файлом index.php и весь код записываете в него.
Файл index.php сохраняете в каталоге home/localhost/www/Ваша_папка.
Установите соединение с базой данных test:
<?php
//устанавливаем доступы к базе данных:
//переменная $host - имя хоста, на локальном компьютере (в нашем случае, это localhost)
$host = 'localhost';
//переменная $user – имя пользователя, по умолчанию это root
$user = 'root';
//переменная $password – пароль, он по умолчанию пустой
$password = '';
//$db_name – имя базы данных
$db_name = 'test';
//создаем соединение, используя наши доступы:
mysql_connect($host, $user, $password);
//выбираем базу данных
mysql_select_db($db_name);
//устанавливаем кодировку (не обязательно)
mysql_query("SET NAMES ' cp1251'");
?>
Проверяем выполнение кода, в адресной строке браузера вводим localhost/Ваша_папка/index.php или просто localhost/Ваша_папка. Если ошибок нет, продолжаем работу с базой данных, т.к. пока страница index.php пустая. Далее необходимо будет отобразить данные из таблицы students на странице index.php (Рассмотрим ниже в пункте 6).
Запросы к базе данных
Запросы к базе данных представляют собой строки (на языке SQL), которые вставляем в функцию PHP mysql_query.
//отбираем все записи из таблицы students
mysql_query("SELECT * FROM students");
Проще и понятнее, если текст запроса будет храниться в переменной $query:
//отбираем все записи из таблицы students
$query = "SELECT * FROM students";
//выполняем запрос
mysql_query($query);
Имя таблицы также лучше хранить в переменной:
//задаем имя таблицы в переменной $table
$table = 'students';
|
|
//отбираем все записи из таблицы students
$query = "SELECT * FROM ". $table;
//выполняем запрос
mysql_query($query);
Так как запрос отбирает данные из таблицы students, и с этими данными будет проводиться в дальнейшем работа (отображение на странице index.php), то результат запроса сохраняем в переменную $result:
<?php
//задаем имя таблицы в переменной $table
$table = 'students';
//отбираем все записи из таблицы students
$query = "SELECT * FROM ". $table;
//выполняем запрос
$result = mysql_query($query);
?>
Усложним запрос, отберем записи из таблицы students, у которых возраст больше или равен 18, т.е. age>=18.
<?php
//задаем имя таблицы в переменной $table
$table = 'students';
//отбираем все записи из таблицы students
$query = "SELECT * FROM ". $table. "WHERE age>=18";
//выполняем запрос
$result = mysql_query($query);
?>
После выполнения запроса результат отбора хранится в переменной $result, но, по-прежнему, не отображен на странице index.php.
Замечание. Принято правило, по которому команды SQL следует писать в верхнем регистре, а все остальное – в нижнем. Это относится к командам SELECT, UPDATE, FROM, DELETE, WHERE и другим такого рода. Конечно, синтаксической ошибки не будет, если вы напишите их маленькими буквами, но принято большими. Запросы принято брать в двойные кавычки.
Кодировка
Чтобы не возникало проблем с кодировками следует придерживаться простых правил:
1. Базу данных следует создавать в кодировке utf8_general_ci.
2. Документ PHP должен быть в кодировке utf8.
3. Таблицы в БД должны быть в utf8_general_ci.
4. После команды mysql_connect добавьте запрос, который установит кодировку для существующего соединения:
mysql_query("SET NAMES 'utf8' ")
или
mysql_query("SET NAMES 'cp1251' ")