PHP 5 для начинающих

Печать

$MYSQL_ERROR = "Не удалось подключиться к узлу $dbhost."; return 0;

}

else if(empty($dbname) && !mysql_select_db($default_dbname)) { $MYSQL_ERRNO = mysql_errno(); $MYSQL_ERROR = mysql_error(); return 0;

}

else return $link_id;

}

function sql_error() {

global $MYSQL_ERRNO, $MYSQL_ERROR;

if(empty($MYSQL_ERROR)) {

$MYSQL_ERRNO = mysql_errno(); $MYSQL_ERROR = mysql_error();

}

return "$MYSQL_ERRNO:$MYSQL_ERROR";

}

?>

Созданный файл можно включать в последующие примеры, а также расширить его при необходимости. Обратите внимание на функцию db_connect() , предназначенную для установки соединений с MySQL-сервером. Она неоднократно будет использоваться в дальнейших примерах.

Необходимо помнить о том, что этот файл содержит важную информацию, которую нежелательно передавать пользователям. Вообще рекомендуется в целях безопасности хранить файлы, содержащие пароли, в виде простого текста, вне дерева каталогов Web-сервера. PHP сможет получить к ним доступ, и вместе с тем это позволит предотвратить передачу таких файлов пользователям непредусмотренным способом, например, путем "обмана" сервера и вывода файлов в виде простого текста. Файл должен выполняться в PHP-интерпретаторе. Это предотвратит отображение паролей.

Теперь проверим сценарий db_connect.php с некорректной комбинацией имени пользователя и пароля или с указанием несуществующей базы данных:

$ ?php

include "common_db.inc";

error_reporting(0);

$link_id = db_connect();

if(!$link_id) die(sql_error());

else echo "Подключение к узлу $dbhost успешно установлено.<BR>";

?>

Попытаемся запустить данный сценарий с неверным именем пользователя или паролем; будет выведено следующее сообщение об ошибке:

$:Не удалось подключиться к узлу localhost.

Если переменная $default_dbname пуста, то получим следующее сообщение:$046:No Database Selected (не выбрана база данных)

Если в сценарии задана несуществующая база данных (например, no_such_db), то будет выведено сообщение:

1049:Unknown database (неизвестная база данных) 'no_such_db'