Moin, ich habe ein problem eine DB Verbindng herzustellen. Bekomme wenn ich die Seite aufrufe den Fehler :
Fatal error: Uncaught Exception: Konnte nicht zur Datenbank verbinden! in /xx/xx/xx/xx/include/class/db.php:28 Stack trace: #0 /xx/xx/xx/xx/include/bt.php(4
: db->__construct(Array) #1 /xx/xx/xx/xx/login.php(29): require_once('/xx/xx/xx/xx...') #2 {main} thrown in /xx/xx/xx/xx/include/class/db.php on line 28
class/db.php
bt.php
dbzugang.php
wo liegt der fehler ?
Fatal error: Uncaught Exception: Konnte nicht zur Datenbank verbinden! in /xx/xx/xx/xx/include/class/db.php:28 Stack trace: #0 /xx/xx/xx/xx/include/bt.php(4
class/db.php
PHP-Code:
<?php
class db
{
private $con;
public $data = array();
function __construct($dsn = array()) {
if(!isset($dsn, $dsn[0], $dsn[1], $dsn[2]))
die("dsn fehlerhaft");
try{
$this->con = new PDO($dsn[0], $dsn[1], $dsn[2]);
$this->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
$this->con->query('SET NAMES utf8');
}catch(PDOException $e){
throw new Exception('Konnte nicht zur Datenbank verbinden!');
}
}
public function getPDO(){
return $this->con;
}
public function row_count($table,$condition = '1=1'){
$sql = "SELECT COUNT(*) FROM " . $table . " WHERE " . $condition;
$qry = $this->con->prepare($sql);
$qry->execute();
return $qry->fetchColumn(0);
}
}
/*
public function get_Assoc($sql, $params=array()){
$stmt = $this->prepare($sql);
$params = is_array($params) ? $params : array($params);
$stmt->execute($params);
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
*/
?>
PHP-Code:
47 require_once("include/class/db.php");
48 $database = new db($dsn);
49 $GLOBALS['DB'] = $database->getPDO();
PHP-Code:
<?php
$mysql_host = "localhost";
$mysql_user = "root";
$mysql_pass = "xxxxxxxxx";
$mysql_db = "dbname";
//NEU PDO
$db_info = array(
"db_host" => "localhost",
"db_port" => "3306",
"db_user" => "root",
"db_pass" => "xxxxxxxxxx",
"db_name" => "dbname",
"db_charset" => "UTF-8"
);
$dsn = ["mysql:host=".$db_info['db_host'].';port='.$db_info['db_port'].';dbname='.$db_info['db_name'],$db_info['db_user'], $db_info['db_pass']];
?>
wo liegt der fehler ?

Kommentar