connexion php mysql无法正常工作

时间:2017-01-20 16:16:09

标签: php mysql pdo

我只是有一个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);
?>

1 个答案:

答案 0 :(得分:1)

IMO将连接放在getConnection方法中是值得的。然后你可以在构造函数中调用它,但它取决于你。 我会改变这个:

private static $bdd='dbname=****';   

到此:

private static $bdd='****';   

然后,试试这个:

try{
PdoGsb::$monPdo = new PDO("mysqlhost:host=" . $serveur ."dbname=". $bdd,$user,$mdp;
}catch (PDOException $exception) {
            echo "Failed to connect:  " . $exception->getMessage();
            exit();
}
return $this->$monPdo;