Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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 为什么connection类不进行连接?_Php_Mysql_Pdo - Fatal编程技术网

Php 为什么connection类不进行连接?

Php 为什么connection类不进行连接?,php,mysql,pdo,Php,Mysql,Pdo,我是OOP和PHP新手,所以这里有个问题。有人能告诉我,我的连接课程有什么问题吗?它没有连接到数据库,我试图在try语句中使用var_dump($this),但它要么不起作用。此外,我正在将我的“dbname”更改为随机名称,代码仍然“有效” 这是我的密码: <?php class connection { // Setting Database Source Name (DSN) public function __construct() {

我是OOP和PHP新手,所以这里有个问题。有人能告诉我,我的连接课程有什么问题吗?它没有连接到数据库,我试图在try语句中使用var_dump($this),但它要么不起作用。此外,我正在将我的“dbname”更改为随机名称,代码仍然“有效”

这是我的密码:

<?php
    class connection {
        // Setting Database Source Name (DSN)
        public function __construct() {
            $dsn = 'mysql:host=localhost;dbname=employee';
            // Setting options
            $options = array (PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
            // Making the connection to the database
            try {
                $this->dbh = new PDO($dsn, 'root', '', $options); 
            }
            catch (PDOException $e) {
                $this->error = $e->getMessage();
            }
        }
    }
    $connection = new connection();
?>

类中的每个方法都必须返回某些内容。 尝试:


尝试
echo$e->getMessage()catch
中的code>以查看错误详细信息。由于try-catch阻塞,它可以工作。您应该首先启用显示错误。您的类属性尚未定义。是,请放在脚本
错误报告(E_ALL)的顶部
ini\u集(“显示错误”,1)@sand谢谢,这很有帮助,数据库名称有误。。。有人能告诉我我的代码结构是好是坏吗?@YourCommonSense它不是必须是“单一负责原则”吗?即“连接”在1类中,向数据库插入值在另一个文件类中,等等?除此之外,我还试过你的代码,你在我上一个问题中发布过,但它不起作用,所以我试着从一开始就根据你的代码编写自己的代码。命名约定:最好以大写字母^true,edited开头一个类名--
  class Connection {

   private $connection;    
    // Setting Database Source Name (DSN)
    public function __construct() {
        $dsn = 'mysql:host=localhost;dbname=employee';
        // Setting options
        $options = array (PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
        // Making the connection to the database
        try {
            $this->connection = new PDO($dsn, 'root', '', $options); 
        }
        catch (PDOException $e) {
            $this->error = $e->getMessage();
        }
    }

    public function DoSomething()
    {
         //do something with your $this->connection and return some value;
    }
}
$connection = new Connection();
echo $connection->DoSomething();