<?php
class DB_Handler{
private $host;
private $db_name;
private $db_username;
private $db_password;
public $dbh;
public function __construct($db_host, $db_name, $db_username, $db_password){
$this->host = $db_host;
$this->db_name = $db_name;
$this->db_username = $db_username;
$this->db_password = $db_password;
}
public function connect(){
try{
$this->dbh = new PDO("mysql:host=$this->host; db_name =$this->db_name, $this->db_username, $this->db_password");
$this->dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e){
$error = "Error: ".$e->getMessage().'<br />';
echo $error;
return false;
}
return true;
}
}
$db_host = "localhost";
$db_name = "db_handler_01";
$db_username = "root";
$db_password = "sd";
$snowboard_db = new DB_Handler($db_host, $db_name, $db_username, $db_password);
$result = $snowboard_db->connect();
if($result){
echo "DB Connected <br>";
echo $snowboard_db;
}
else{
echo "DB is not Connected <br />";
}
?>
如果我给出数据库的详细信息正确或错误它只显示数据库连接。请让我知道我犯的错误。php pdo db连接类
在我看来,你的连接字符串是错误的。只有主机和数据库名称应该用引号包装。用户名和密码以及PDO构造函数的第二个和第三个参数。 –
$ this-> dbh = new PDO(“mysql:host = {$ this-> host}; db_name = {$ this-> db_name}”,$ this-> db_username,$ this-> db_password); –
非常感谢Ron Dadon和Junaid Ahmed。我试过说,它工作正常。非常感谢你。 – Manoj