Спасибо за ваши ответы, очень помогли. По совету написал небольшой синглтон, подскажите это нормальная практика кода?
<?php
class DB {
protected static $_instance = null;
public $_pdo = null;
private function __construct() {
try {
$this -> _pdo = new PDO(
'mysql:host=localhost;dbname=xxx', 'root', 'xxx');
$this -> _pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this -> _pdo -> query("SET NAMES utf8");
$this -> _pdo -> query("SET CHARACTER SET utf8");
}
catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
}
public static function getInstance() {
if (self::$_instance === null) {
self::$_instance = new self;
}
return self::$_instance;
}
private function __clone() {
}
private function __wakeup() {
}
}
?>
Обращение к инстансу:
$order_ticket_query = "CREATE TABLE IF NOT EXISTS `:table_name` (
`ID` INT AUTO_INCREMENT NOT NULL,
`oID` varchar(10),
`week` INT,
`name` varchar(70),
`expired` DATETIME,
`created` DATETIME,
`use` BOOL,
PRIMARY KEY (`ID`)
) CHARACTER SET utf8 COLLATE utf8_general_ci;";
$stmt = DB::getInstance() -> _pdo -> prepare($order_ticket_query);
$stmt -> execute(array(':table_name' => 'order_ticket'));