试图让PDO连接建立

时间:2018-05-03 05:22:20

标签: php mysql pdo

我一直在努力获得一个PDO连接,以便在一个班级内建立更好的一天。我的问题是,一旦我尝试击中new PDO(...)我什么也得不到,没有任何错误。无论我拥有什么,将永远不会运行,但我的控制台仍然可以运行等待输入。我尝试过连接几个地方,包括" Driver"文件再次,它在我运行new PDO(...)实例化后没有做任何事情。这是我的数据库类的一部分:

namespace App\Database;
class MySQL
{
    private $Host;
    private $DBName;
    private $DBTable;
    private $DBUser;
    private $DBPassword;
    private $DBPort;
    private $PDO;
    private $parameters;
    private $bConnected = false;
    public $querycount = 0;

    function __construct($DBName, $DBTable)
    {
        $this->Host = getenv("DATABASE_HOST");
        $this->DBPort =  getenv("DATABASE_PORT");
        $this->DBUser = getenv("DATABASE_USER");
        $this->DBPassword = getenv("DATABASE_PASSWORD");
        $this->DBName = $DBName;
        $this->DBTable = $DBTable;
        $this->Connect();
        $this->$parameters = array();
    }
    private function Connect()
    {
        try{
            echo "I am the good child and always print".PHP_EOL;
            $this->PDO = new PDO("mysql:host=localhost;port=33061;dbname=store", "root", "password");
            echo "Please Print Me <3".PHP_EOL;
            $this->bConnected = true;
        } catch (PDOException $e){
            echo $e->getMessage();
            die();
        }
    }

我已经检查了Host,DBPort等的值,并且在下面的代码中,我将所有值都硬编码,因为在适当的插槽中插入变量的格式化没有任何错误。我知道PDO是打开的,因为我可以在其他项目中使用它,但是我的捕获并没有捕获任何东西,我可以得到第一个回显来运行,但第二个回声没有出现。任何帮助都会很棒,因为在这一点上,我正在摸不着为什么我无法连接它。

谢谢!

如果我不清楚我可以尝试提供清晰度,我也可以显示驱动程序文件,如果需要但基本上,它只是调用构造函数就好了,连接函数给我们带来了问题。

1 个答案:

答案 0 :(得分:0)

我的代码的每一行都在过去一小时左右,如果不是更多的话。我发现我的变量存在一些差异。我在几个地方使用$this->$parameters  或其他因某些原因似乎没有导致错误但导致代码无法运行的变体。我不确定为什么它没有抛出关于变量的错误,但它似乎是导致我的问题的原因。

感谢您的时间和帮助!