我一直在努力获得一个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是打开的,因为我可以在其他项目中使用它,但是我的捕获并没有捕获任何东西,我可以得到第一个回显来运行,但第二个回声没有出现。任何帮助都会很棒,因为在这一点上,我正在摸不着为什么我无法连接它。
谢谢!
如果我不清楚我可以尝试提供清晰度,我也可以显示驱动程序文件,如果需要但基本上,它只是调用构造函数就好了,连接函数给我们带来了问题。
答案 0 :(得分:0)
我的代码的每一行都在过去一小时左右,如果不是更多的话。我发现我的变量存在一些差异。我在几个地方使用$this->$parameters
或其他因某些原因似乎没有导致错误但导致代码无法运行的变体。我不确定为什么它没有抛出关于变量的错误,但它似乎是导致我的问题的原因。
感谢您的时间和帮助!