Соединение с базой данных на PHP
Иногда удобно просто брать откуда-то код, который используешь постоянно, зная, что он точно корректен и не подведёт. Такая типичная для проекта вещь, как соединение с базой данных, требует чуть большего кода, чем две строчки.
В конфигурационном файле или в начале скрипта пишем (понятное дело, внутри маркеров PHP):
$db_server = 'сервер баз данных (обычно localhost)';
$db_user = 'пользователь/администратор';
$db_password = 'пароль';
$db_name = 'имя базы';
Затем используем следующий код:
$connected = @mysql_connect($db_server, $db_user, $db_password);
if($connected) {
$select_db = mysql_select_db($db_name);
if(!$select_db) die('No DB connection');
}
else {
die('No DB connection');
}
Смысл его в следующем: если нет соединения с базой данных, то дальнейшие сценарии не будут выполняться, а на экран будет выведено сообщение «No DB connection». Ошибки в браузер тоже не будут выводиться.
Сценарий можно модифицировать, вместо сообщений о недоступности базы генерируя переменные с определёнными значениями; в дальнейшем эти переменные можно использовать в условных операторах. Дело в том, что оператор die() вообще закрывает обработку сценариев, и может получиться, что после сообщения об ошибке часть вёрстки страницы просто не загрузится. В случае же с использованием переменных можно гибко управлять кодом. Вот пример:
$isSetError = ''; // не должно быть 'ERR'
$isSetDb = ''; // должно быть 'OK'
$connected = @mysql_connect($db_server, $db_user, $db_password);
if($connected) {
$select_db = mysql_select_db($db_name);
if(!$select_db) $isSetError = 'ERR';
else $isSetDb = 'OK';
}
else {
$isSetError = 'ERR';
}
Далее код можно использовать:
if($isSetError == 'ERR') {
echo 'Всё плохо. База умерла.';
}
else {
// Выполняем код страницы;
}
Комментарии