【发布时间】:2017-06-05 16:46:12
【问题描述】:
我只有一个 pdo 对象,我想用它来连接我的在线数据库,但它不起作用,我找不到原因。
我收到一个 PHP 错误:
带有消息“无效数据源名称”的未捕获异常“PDOException”
在我的构造函数中
我的 pdo 构造函数:
<?php
class PdoGsb{
private static $serveur='mysql.hostinger.fr';
private static $bdd='dbname=****';
private static $user='****';
private static $mdp='****';
private static $monPdo;
private static $monPdoGsb=null;
private function __construct(){
PdoGsb::$monPdo = new PDO(PdoGsb::$serveur.';'.PdoGsb::$bdd, PdoGsb::$user, PdoGsb::$mdp);
PdoGsb::$monPdo->query("SET CHARACTER SET utf8");
PdoGsb::$monPdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
public function _destruct(){
PdoGsb::$monPdo = null;
}
public static function getPdoGsb(){
if(PdoGsb::$monPdoGsb==null){
PdoGsb::$monPdoGsb= new PdoGsb();
}
return PdoGsb::$monPdoGsb;
}
public function setClient($sexe, $age){
$req="INSERT INTO client (sexe, age)
VALUES
('$sexe', '$age');";
$res2= PdoGsb::$monPdo->exec($req);
}
}
?>
我发送数据的文件:
<?php
require_once ("rees.php");
$pdo = PdoGsb::getPdoGsb();
$sexe = "homme";
$age = "55";
$pdo->setClient($sexe, $age);
?>
【问题讨论】:
-
$dsn = 'mysql:dbname=dbname;host=somehost';,你的设置看起来不对。