[英]Unable To Connect Database MySql
我是PHP PDO的新手,并且在Config.php上编写了以下代码
class DBConnect{
/* defining constants for database connectivity */
private $host="127.0.0.1";
private $user="root";
private $pass="";
private $dbname="sms-portal";
private $dbh;
private $error;
public function __construct(){
// set DSN
$dsn='mysql:host='.$this->host.'dbname='.$this->dbname;
//set Options
$options= array(
PDO::ATTR_PERSISTENT => true,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
);
// Create New PDO instance
try{
$this->dbh=new PDO($dsn, $this->user, $this->pass, $options);
//die("here");
}
// Catch any errors here
catch(PDOException $e){
$this->error=$e->getMessage();
}
}
}
在使用localhost并提交NewUserRegistration时,会在警告消息之后显示其“向我显示”。
Warning: PDO::__construct() [pdo.--construct]:
php_network_getaddresses: getaddrinfo failed:
No such host is known. in config.php on line 25
Warning: PDO::__construct() [pdo.--construct]:
[2002] php_network_getaddresses: getaddrinfo failed:
No such host is kn (trying to connect via tcp://127.0.0.1dbname=sms-portal:3306)
in config.php on line 25
$dsn='mysql:host='.$this->host.'dbname='.$this->dbname;
看起来您在dbname =之前缺少分号-尝试以下操作:
$dsn='mysql:host='.$this->host.';dbname='.$this->dbname;
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
注意:您刚刚错过了“;” 在主机和dbname之间。
添加;
dbname
之前的分号:
$dsn='mysql:host='.$this->host.';dbname='.$this->dbname;
// ^ this one
如果您看到此错误,则说明主机无法正常终止:
tcp://127.0.0.1dbname=sms-portal:3306
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.