@Allanian

Класс ООП, для PDO авторизации?

Здравствуйте,
Помогите разрешить вопрос, стоит ли подключение к базе оборачивать в класс (ConnectionBD, например) или можно просто вынести в отдельный файл.
Как организовать правильное подключение к БД?
Сделал на данном этапе следующее, раньше была обычная авторизация через мд5 и подключение из файлика. Реализованное на примере статьи phpfaq.ru/pdo.
define('DB_HOST', 'localhost');
define('DB_NAME', 'sadwordsbd');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_CHAR', 'utf8');

class Connection {
	//переменная для проверки
	protected static $instance = null;
	
	public static function instance() {
		if (self::$instance === null)
        {
            $opt  = array(
                PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
                PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
                PDO::ATTR_EMULATE_PREPARES   => TRUE,
            );
            $db_Con = 'mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset='.DB_CHAR;
            self::$instance = new PDO($db_Con, DB_USER, DB_PASS, $opt);
        }
        return self::$instance;
	}
}

Сам запрос
require_once("class.php");
$dbh = new Connection;
$sql=" 
SELECT * FROM `UsersSW` WHERE `username`='123'; 
";
$stmt = $db->query($sql);
if(!$stmt){echo('Error selecting news item:'.$mysqli_error());exit();}

Ругается на query.
  • Вопрос задан
  • 1345 просмотров
Решения вопроса 1
@novrm
Можете использовать ООП - писать надстройку над PDO.
Можете, конечно, писать велосипед...
А можете использовать для постройки объектно-реляционное отображение: ORM.
А можете взять готовое решение, которое используют во фреймворках Symfony, ZendFramewok:
Doctrine 2 Object Relational Mapper (ORM)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dev400
$sql="SELECT * FROM `UsersSW` WHERE `username`='123';"; две точки с запятой, оставьте одну
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект