Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
警告php\u网络\u getaddress_Php_Mysql_Pdo - Fatal编程技术网

警告php\u网络\u getaddress

警告php\u网络\u getaddress,php,mysql,pdo,Php,Mysql,Pdo,这是我的代码: class database{ public function __construct($host, $username, $password, $db_name){ $db = new PDO("mysql:host=".$host.";dbname=".$db_name,$username,$password); } } try{ $db = new database('localhot','r

这是我的代码:

class database{
    public function __construct($host, $username, $password, $db_name){
        $db = new PDO("mysql:host=".$host.";dbname=".$db_name,$username,$password);
    }
}

try{
    $db = new database('localhot','root','','first_database');
}catch(Exception $e){
    echo $e -> getMessage();
}
这在连接时起作用。但当出现错误时,如localhost拼写错误,我会收到两条错误消息,如: 我真的不明白为什么会这样?我以前与mysqli_connect的连接工作得非常好。试图控制OON PDO

有什么建议吗?多谢各位


注意:请尽可能简单地说:)

在try-catch块中无法捕获PHP错误和警告。只有在代码中显式抛出的异常是

如果您想捕获PHP生成的错误和警告,您必须使用您应该使用的(PDOException)注册错误处理程序


是为PDOException类提供的链接。

请附上有问题的图像。您看到的不是错误。这是一个警告。您根本不需要处理错误,否则您可能会对错误做出反应。例如,在实现try-catch构造的调用作用域中引发一个异常。AFAIK PDO构造函数甚至不应该引发警告,但确实应该引发一个异常。第五行是什么?看起来是您的数据库发出了警告,而不是pdo构造函数。这真的是你的代码吗?nvm我只是重读了你的警告信息..我从回复中得到了这样的印象,PDO不是解决问题的方法?或者我做错了。
try{
    $db = new database('localhost','root','','first_database');
 }catch(PDOException $e){
    echo $e->getMessage();
 }