Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Журнал Начинающего Программиста


Как соединиться с базой данных MySQL.

Прежде чем вытаскивать из базы данных MySQL какие-то поля, вносить в них изменения и.т.д., сначала нужно с этой базой данных соединиться. Компьютеру нужно сообщить, с какой базой данных ему нужно соединяться, где она находится, как называется, и под каким пользователем вы вообще хотите туда зайти.
В базу данных MySQL могут войти только те пользователи, которые были созданы в разделе "Привилегии" в phpmyadmin.
Соединяются с базой данных с помощью PHP-кода, который необходимо вставить на каждую страницу, где будет нужно производить какие-то действия с MySQL.
Код этот достаточно простой. Давайте сейчас попробуем с ним разобраться.


<?php
$dblocation = "localhost"; // Имя сервера
$dbuser = "phpuser"; // Имя пользователя
$dbpassword = "123"; // Пароль
$db=@mysql_connect ($dblocation,$dbuser,$dbpassword);
// Символ @ нужен для того, чтобы не выводилась ошибка при неудачном
//подключении
if (!$db) // Если соединение не установлено
{echo "<p>В данный момент соединиться с базой данных не возможно. Напишите об этом администратору.</p>";
exit();
}
mysql_select_db ("php",$db); //Выбираем базу данных для дальнейшей
//работы.
?>

Сначала создаются три переменных:


$dblocation = "localhost"; // Имя сервера
$dbuser = "phpuser"; // Имя пользователя
$dbpassword = "123"; // Пароль


Эти переменные содержат параметры, по которым будет выполнено соединение.
В принципе, их можно было бы не создавать, но дело в том, что если какие-то из этих параметров в дальнейшем изменятся, их нужно будет поменять только один раз в значении переменной, а не искать во всем коде и менять все вручную.
Имя пользователя и пароль мы с вами задавали в phpmyadmin в разделе "Привилегии", указывать нужно именно эти данные.

$db=mysql_connect ($dblocation,$dbuser,$dbpassword);

С помощью функции mysql_connect соединяемся с базой данных, а в скобочках указываем параметры соединения.
mysql_connect (имя сервера, имя пользователя, его пароль);
После того, как вы соединитесь с базой данных с помощью функции mysql_connect, в результате ее работы мы получаем значение специального идентификатора (порядкового номера) по которому компьютер будет знать, к какой базе данных ему обращаться. Этот идентификатор нужно занести в любую переменную, обычно ее называют $db.
Я попробовал вывести значение переменно $db на экран (<? echo $db; ?>) и получил следующий результат - Resource id #2. Т.е. компьютер для себя отметил, куда ему нужно в дальнейшем обращаться.
Хочу также обратить ваше внимание на то, что перед функцией mysql_connect стоит знак "@" (собака). Для чего он нужен?
Этот символ отвечает за то, будет ли выводится сообщение об ошибке при неудачном соединения с базой данных или не будет.
Давайте попробуем этот значок убрать и написать просто:
$db=mysql_connect ($dblocation,"ggg",$dbpassword);
Но в качестве имени пользователя, укажем то имя, которого нет в списке всех пользователей (например, ggg). После этого у вас должна появиться примерно вот такое сообщение об ошибке:

Warning: mysql_connect(): Access denied for user: 'ggg@localhost' (Using password: YES) in z:\home\localhost\www\php\index.php on line 6

Т.е. пользователь не определен. Но если мы напишем так:
$db=@mysql_connect ($dblocation,"ggg",$dbpassword);
, то сообщение об ошибке должно исчезнуть и пользователь его не увидит.
Идем дальше

if (!$db) // Если соединение не установлено {echo "<p>В данный момент соединиться с базой данных не возможно. Напишите об этом администратору.</p>"; exit(); }

Здесь все очень просто, это обычное условие.
Если соединение с базой данных нам установить не удалось, то нужно вывести на экран соответствующую текстовую строку и выйти из программы (exit();).
Код, который будет написан после оператора exit(), выполняться не будет.
А узнать установлено или нет соединение можно, написав переменную db со значком "!" впереди (!$db). Знак "!" означает операцию (НЕ). Т.е. мы говорим, что если нет переменной $db, то выполняй следующую последовательность действий.
Все, после операций, которые мы только что сделали, можете считать, что с базой данных MySQL мы уже соединились. Но компьютер еще не знает, с какой конкретно базой данных ему работать, как вы уже знаете, их может быть несколько.
Чтобы указать какую конкретно базу данных необходимо использовать, нужно воспользоваться функцией mysql_select_db.
mysql_select_db ("php",$db); //Выбираем базу данных для дальнейшей //работы.
Как вы видите, здесь я просто указал идентификатор соединения $db и название базы данных "php".
Вот и все.
После такого, не слишком сложного кода, мы уже можем использовать различные команды и напрямую работать с базой данных MySQL.
Теперь компьютер знает, куда ему нужно в случае чего обращаться.



©  2010 LORD-EXPERT     • Forum   • Site



В избранное