🔥 با کمک هوش مصنوعی در کمتر از 6 ماه فول‌استک شوید ...
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ سیاوش جهانگیری
اخطار 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}

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

بهترین پاسخ
منصور عراقی ۱۴ شهریور ۱۴۰۰، ۱۹:۳۸