Я хотел бы использовать PEAR для разработки веб-сайта, и я создал класс для подключения и отключения от базы данных, но, похоже, он не работает.Я спрашиваю вас, где я ошибаюсь в отношении кода ниже?
class DB {
private $mdb2;
private $connected ;
private $error;
public function __construct(){
$this->mdb2 = $mdb2;
$this->connected = false;
$this->error = "";
}
public function Connect(){
require_once('config.php');
$this->mdb2 = MDB2::connect("mysql://".$db_user.":".$db_pass."@".$db_host."/".$db_name."");
$this->connected = true;
if (PEAR::isError($this->mdb2))
{
//error handling
$this->connected = false;
die("Error connecting to the database!".$this->mdb2->getMessage());
}
return $this->connected;
}
public function getError(){
return $this->error;
}
public function doquery($query)
{
if ($query != "" && $this->connected == true)
{
$result = $this->mdb2->query($query);
if ($result->numRows() > 0 )
{
return $result;
}
else
{
$this->error = "The Query returned 0 rows";
}
}
else
{
$this->error = "Invalid Query or DB Connection Closed";
}
}
public function Disconnect(){
if ($this->connected == true)
{
$this->connected = false;
$this->mdb2->disconnect();
}
else
{
$this->connected = false;
}
}
}
Запуск этого кода для теста:
$cdb = new DB();
$cdb->Connect();
$data = $cdb->doquery("SELECT test FROM test");
$aa = 0;
if ($cdb->getError() == ""){
while ( $line = $data->fetchRow())
$aa = $line[0];
echo $aa;
}
else echo $cdb->getError();
$cdb->Disconnect();
if ($aa == 3){
$cdb->Connect();
$dataa = $cdb->doquery("SELECT test FROM test");
while ( $linea = $dataa->fetchRow())
echo $linea[0];
$cdb->Disconnect();
}
Выдает мне эту ошибку:
MDB2 Ошибка: ошибка подключения: подключение: [Сообщение об ошибке: доступотказано для пользователя 'test' @ 'localhost' (используя пароль: NO)] [собственный код: 1045] [собственное сообщение: доступ запрещен для пользователя 'test' @ 'localhost' (используя пароль: NO)] ** mysql (mysql): //: xxx @ /