Соединение с базой данных

Любая программа на языке 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'  ")

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: