Класс для работы с Базой Данных MySQLi (PHP)

Форум для тех кто начинает осваивать язык php.
Аватара пользователя
Slash
Администратор
Сообщения: 2113
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 71 раз

Класс для работы с Базой Данных MySQLi (PHP)

Сообщение Slash » Ср янв 18, 2017 7:13 pm

Для одного своего проекта как то написал небольшой класс для работы с Базой Данных. Хочу поделиться с вами.
На данный момент в классе есть:
  • Подключение и выполнение запроса.
  • Создание ассоциативного массива.
  • Определение количества рядов.
  • Экранирование.
  • Получение последнего ID.
Вот сам класс:

Код: Выделить всё

<?php
class db
{
	private $db;

	public function __construct()
	{
		$this->connect(
			param('db', 'host'), 
			param('db', 'user'), 
			param('db', 'password'), 
			param('db', 'name')
		);
	}

	# Подключение
	private function connect($dbhost, $dbuser, $dbpassword, $dbname)
	{
		$this->db = new mysqli($dbhost, $dbuser, $dbpassword, $dbname);
		if ($this->db->connect_errno)
		{
			exit($this->db->connect_error);
		}

		$this->db->set_charset('utf8');
	}

	# Выполнение запроса
	public function inquiry($q)
	{
		$r = $this->db->query($q);
		if (!$r)
		{
			exit($this->db->error);
		}

		return $r;
	}

	# Ассоциативный массив
	public function associative($value)
	{
		return $value->fetch_array(MYSQLI_ASSOC);
	}

	# Определение количества рядов
	public function quantity($value)
	{
		return $value->num_rows;
	}

	# Экранирование
	public function shielding($value)
	{
		return $this->db->real_escape_string($value);
	}

	# Последний сгенерированный id
	public function lastid()
	{
		return $this->db->insert_id;
	}
}
Пример работы с классом:

Код: Выделить всё

$db = new db();
$db->inquiry($q);      // Выполняем запрос
$r = $db->inquiry($q); // Выполнение запроса для получения данных

Реклама

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя