尝试建立pdo连接

rdrgkggo  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(257)

我已经花了大半天的时间在一个班级里建立一个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是打开的,因为我可以在其他项目中使用它,但是我的捕获没有捕获任何东西,我可以让第一个echo运行,但是第二个永远不会出现。任何帮助都将是可怕的,因为在这一点上,我抓挠我的头,为什么我不能得到这个连接。
谢谢!
如果我不清楚,我可以尝试提供清晰,我也可以显示驱动程序文件,如果需要的话,但基本上,它只是调用构造函数刚刚好,连接函数给我们带来了问题。

33qvvth1

33qvvth11#

我已经检查了我的每一行代码大约在最后一个小时左右,如果不是更多。我发现我的变量有些不一致。我在几个地方用过 $this->$parameters 或者其他的变体,这些变体似乎没有由于某种原因导致错误,但是使代码无法运行。我不知道为什么它没有抛出一个关于变量的错误,但这似乎是导致我的问题。
谢谢你的时间和帮助!

相关问题