سلام
همهش اینجا Failed میشه همه جا رو بررسی کردم پاس نمیشه مشکلش چیه؟
سلام ادریس عزیز
در متد get connection باید آبجکتی که از کلاس pdo در متد connct ساختید و به پراپرتی connection دادید رو برگردونید.
ضمنا در بلاک catch در زمان تستها شما نباید echo انجام بدید چون برنامه ادامه داده میشه و باعث ارور میشه؛پس باید اکسپشن ترو کنید.
public function connect() { $dsn = $this->generateDsn($this->config); //var_dump($dsn); try { $this->connection = new PDO(...$dsn); // set the PDO error mode to exception $this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //echo "Connected successfully"; } catch (PDOException $e) { throw new Exeption($e->getMessage()); } } public function getConnection() { return $this->connection; }
در متد ایجاد dsn هم ایندکسها رو اشتباه گرفتید؛مثلا db-user رو زدید db_user که اصلاحش به شکل زیر هست:
private function generateDsn(array $config) { $dsn = "{$config['driver']}:host={$config['host']};dbname={$config['database']}"; return [$dsn, $config['db-user'], $config['db-password']]; }
حل شد، ممنونم از پاسخگوییتون?