Работа с базами данных через PDO/отследить ошибки в запросах
class bb
{
public $connect;
public $db_id;
function __construct() {
$this->connect = new PDO('mysql:dbname=table;host=localhost', 'user', 'pass', [PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'", PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
//$this->connect->errorInfo() && $this->display_error($this->connect->errorInfo(), $this->zp);
}
function query($sql, $value, $type = 'fetchAll')
{
$this->zp = $sql;
$this->sql = $this->connect->prepare($sql);
$this->sql->execute($value);
return $this->sql->fetchAll();
}
function display_error($error, $sql = '')
{
global $time;
//print_r($sql);
//print_r($error);
}
function __destruct() {
//$this->db_id && mysqli_close($this->db_id);
//$this->db_id = false;
}
}
$bb = new bb;
print_r($bb->query("SELECT * FROM `news` WHERE `id` = ?", ['269']));
Как прописать
$type = 'fetchAll'
return $this->sql->($type)();
Не работает, через if в крайнем случаи. Хотелось бы как то так сделать...
Второй вопрос, как верно отлавливать ошибки в запросе?
$this->connect->errorInfo() && $this->display_error($this->connect->errorInfo(), $this->zp);
Каждый раз при запросе вызывается почему то... Отдает
Array ( [0] => 00000 [1] => [2] => )