Я не знал, что существует способ OO для использования mysqli, поэтому я построил класс под названием DB. Во время __construct он принимает имя хоста, имя пользователя, пароль и имя базы данных. Учитывая следующий код:Ошибка подключения к базе данных в классе
$myDB = new DB("localhost", "user", "password", "database");
$myDBConnect = $myDB->connect();
if(!$myDBConnect) {
echo "<strong>The following error has occurred: " . $myDB->getError();
}
переменный, очевидно, содержит FALSE
, потому что это if
заявления в настоящее время возвращается TRUE
. Вот метод из класса DB:
public function connect() {
// Create connection
$this->dbConnx = mysqli_connect($this->dbHost, $this->dbUsername, $this->dbPassword, $this->dbName);
if(mysqli_connect_errno($this->dbConnx)) {
$this->dbError = mysqli_error($this->dbConnx);
return false;
}
}
У меня нет деталей ошибок. Я попытался добавить or die(mysqli_error());
в метод connect, но он всегда просто выводит текст из файла, в который создается экземпляр $ myDB. Я также пробовал варианты кода сообщения об ошибках, включая отсутствие аргумента в mysqli_connect_errno()
и использование $this->dbError = mysqli_connect_error()
с соединением и без него аргумент.
Это излишне усложняет способ OO использовать mysqli? или я пропущу что-то простое, что позволит мне перейти на код, который у меня уже есть? Заранее благодарим за ваше время.
Я удалил errant $ перед оператором 'if' в соответствии с @echo_Me. Это не было в фактическом коде, просто мой пост. – armadadrive
Я должен добавить, что файл error_log не создается ... это должно быть так, как я пытаюсь получить информацию об ошибке. – armadadrive