Я пытаюсь установить соединение с базой данных, при этом информация о конфигурации базы данных отделена от соединения.
Это код, который я написал
Информация о конфигурации БД:
$config = array(
"database" => array(
"host" => "host",
"username" => "username",
"password" => "password",
"name" => "name",
)
);
define("databse_config", $config["database"]);
$config обычно также содержит другую информацию, не относящуюся к вопросу, поэтому я определил «database_config».
подключение к базе данных:
require_once "config.php";
define("DB_HOST", databse_config['host']);
define("DB_USERNAME", databse_config['username']);
define("DB_PASSWORD", databse_config['password']);
define("DB_NAME", databse_config['name']);
function connect()
{
$dbhost = DB_HOST;
$dbuser = DB_USERNAME;
$dbpass = DB_PASSWORD;
$dbname = DB_NAME;
try {
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
$conn->exec("set names utf8");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $conn;
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
}
connect();
Проблема, с которой я продолжаю сталкиваться, заключается в том, что при попытке выполнить функцию страница продолжает загружаться и в конечном итоге выводит следующую ошибку:
Ошибка подключения: SQLSTATE [HY000] [2002] Время ожидания подключения истекло.
Я новичок в PDO, поэтому я пробовал то же самое при использовании mysqli, что дало тот же результат.
Любая помощь будет оценена по достоинству.