РАБОТА С БАЗОЙ ДАННЫХ MySQL СРЕДСТВАМИ РНР
Лекция. Подготовлена Прохоровым В.С.
1. СОЕДИНЕНИЕ РНР-СЦЕНАРИЕВ с таблицами MySQL
Рассмотрим наиболее часто используемых функций, позволяющих работать с базой данных MySQL средствами РНР.
При взаимодействии РНР и MySQL программа взаимодействует с СУБД посредством совокупности функций.
1.1 Соединение с сервером. Функция mysql_connect
Прежде чем работать с базой данных, необходимо установить с ней сетевое соединение, а также провести авторизацию пользователя. Для этого служит функция mysql_connect()
resource mysql_connect([string $server[,string $username[,string $password]]])
Эта функция устанавливает сетевое соединение с базой данных MySQL, расположенной на хосте $server (по умолчанию это localhost, т.е. текущий компьютер) и возвращает идентификатор открытого соединения. Вся дальнейшая работа ведется именно с этим идентификатором. Все другие функции, принимающие этот идентификатор (дескриптор) в качестве аргумента, будут однозначно определять выбранную базу данных. При регистрации указывается имя пользователя $username и пароль $password (по умолчанию имя пользователя, от которого запущен текущий процесс – при отладке скриптов: root, и пустой пароль):
<?
$dblocation = "localhost"; //Имя сервера
$dbuser = "root"; //Имя пользователя
$dbpasswd = ""; //Пароль
//Осуществляем соединение с сервером базы данных
//Подавляем вывод ошибок символом @ перед вызовом функции
$dbcnx = @ mysql_connect($dblocation, $dbuser, $dbpasswd);
if (!$dbcnx) //Если дескриптор равен 0, соединение не установлено
{
//Выводим предупреждение
echo("<P>B настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</Р>");
exit ();
}
?>
Переменные $dblocation, $dbuser и $dbpasswd хранят имя сервера, имя пользователя и пароль.
1.2 Разрыв соединения с сервером. Функция mysql_close
Соединение с MySQL – сервером будет автоматически закрыто по завершении работы сценария, либо же при вызове функции mysql_close
bool mysql_close ([resource $link_identifier])
Эта функция разрывает соединение с сервером MySQL, и возвращает true при успешном выполнении операции и false в противном случае. Функция принимает в качестве аргумента дескриптор соединения с базой данных, возвращаемый функцией mysql_connect.
Пример работы с этой функцией:
<?
$dblocation = "localhost"; //Имя сервера
$dbuser = "root"; //Имя пользователя
$dbpasswd = ""; //Пароль
//Осуществляем соединение с сервером базы данных
//Подавляем вывод ошибок символом @ перед вызовом функции
$dbcnx = @ mysql_connect($dblocation, $dbuser, $dbpasswd);
if (!$dbcnx) //Если дескриптор равен 0, соединение не установлено
{
//Выводим предупреждение
echo("<P>B настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</Р>");
exit ();
}
if (mysql_close($dbcnx)) //разрываем соединение
{
echo("Соединение с базой данных прекращено");
}
else
{
echo("He удалось завершить соединение");
?>
1.3 Создание базы данных. Функция CREATE DATABASE
Команда — создание базы данных доступна только администратору сервера, и на большинстве хостингов ее нельзя выполнять:
CREATE DATABASE ИмяБазыДанных
Создает новую базу данных с именем имяБазыданных.
Пример работы с этой функцией:
//Создаем базу данных $dbname – это может делать только суперпользователь
//Если база данных уже существует, будет некритическая ошибка
@mysql_query('CREATE DATABASE $dbname');
Рекомендуется везде использовать апострофы ('SQL – команда') в качестве ограничителей строк, содержащих SQL – команды. ............