Я пытаюсь установить соединение с базой данных, когда информация о конфигурации базы данных удалена от соединения.
Это код, который я написал
Информация о конфигурации базы данных:
$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, который дал тот же результат.
Любая помощь будет принята с благодарностью .