۲ abdolnaser20
اخطار No such host is known در هنگام استفاده از PDO
محمدرضا حسینی حل شده توسط محمدرضا حسینی

سلام وقت بخیر، من تمامی مراحلی که استاد در این جلسه انجام دادند رو رفتم، اما موقع اتصال به دیتابیس با خطای زیر مواجه میشم. مشکل از کجاست؟؟؟؟

//config.php:
$database_config = (object)[
    "host" => "localhost",
    "user" => "root",
    "pass" => "",
    "db" => "7todo"
];
//init.php:
$dsn = "mysql:dbname={$database_config -> db};host= {$database_config -> host} ";
try {
    $pdo = new PDO($dsn, $database_config -> user, $database_config -> pass);
} catch (PDOException $e) {
    echo "connection failed: " . $e -> getMessage();
    die();
}
echo "connect ok";
//output: 
connection failed: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: No such host is known. 

درود

باید بعد از mysql: هاست رو بیارید، مثل کد زیر

$servername = "localhost";
$username = "username";
$password = "password";
try {
  $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  echo "Connected successfully";
} catch(PDOException $e) {
  echo "Connection failed: " . $e->getMessage();
}
امیر صالحی ۱۱ مرداد ۱۴۰۰، ۱۴:۴۵

سلام و عرض ادب 

 

در متغیر dsn بعد از عبارت host= و بعد از قرار دادن مقدار 

{$database_config -> host}

یک فاصله قرار دادید و ظاهرا چون این فاصله‌ها رو هم به عنوان آدرس هاست مد نظر میگیره نمی‌تونه هاست رو پیدا کنه و به ارور می‌خورید.فاصله رو بردارید مشکل حل میشه

بهترین پاسخ
محمدرضا حسینی ۱۴ شهریور ۱۴۰۰، ۱۹:۳۸