Сергей спасибо, а возможно вы сможете подсказать тоже самое но уже в ООП?
class DB {
private $host;
private $user;
private $pass;
private $db;
private $connection;
public function __construct($host,$user,$pass,$db)
{
$this->host=$host;
$this->user=$user;
$this->pass=$pass;
$this->db=$db;
}
public function connect()
{
$this->connection = @new mysqli($this->host,$this->user,$this->pass,$this->db);
$this->connection->set_charset('utf8');
return $this->connection;
}
}
class News {
private $connection;
public function __construct($connection)
{
$this->connection=$connection;
}
public function get_news()
{
$result_set = $this->connection->query('SELECT * FROM news');
return $result_set->fetch_object();
}
}
$db=new DB('host', 'un', 'pass', 'db');
$connection=$db->connect();
$news=new News($connection);
$news_list=$news->get_news();
var_dump($news_list);//операции с объектом, то бишь вывод и т.д. и всякие foreach()
Изначально может показаться что кода стало больше, но при росте проекта это будет наоборот - короче.
Вы так же можете использовать и процедурный стиль, но в каждую функцию придется передавать $connection, в ООП же - только классу.
Кроме того в процедурном стиле у вас будет куча таких функций:
get_news();
get_user_id();
get_id_by_email();
get_user_id_by_news_id(); и т.д.
При ООП же всё структурируется согласно классам,
$news->get_user();
$user->get_news();
и т.д.
Это не тема для тостера, это надо читать хотя бы про MVC