{% else-1 %}
(11 янв 2013, 21:49) (1/0) [1]
<?
if (!class_exists(\'PDO\'))
die(\'Fatal Error: Для работы нужна поддержка PDO.\');
class PDO_ extends PDO
{
function __construct($dsn, $username, $password)
{
parent :: __construct($dsn, $username, $password);
$this -> setAttribute(PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION);
$this -> setAttribute(PDO :: ATTR_DEFAULT_FETCH_MODE, PDO :: FETCH_ASSOC);
}
function prepare($sql)
{
$stmt = parent :: prepare($sql, array(PDO :: ATTR_STATEMENT_CLASS => array(\'PDOStatement_\')));
return $stmt;
}
function query($sql, $params = array())
{
$stmt = $this -> prepare($sql);
$stmt -> execute($params);
return $stmt;
}
function querySingle($sql, $params = array())
{
$stmt = $this -> query($sql, $params);
$stmt -> execute($params);
return $stmt -> fetchColumn(0);
}
function queryFetch($sql, $params = array())
{
$stmt = $this -> query($sql, $params);
$stmt -> execute($params);
return $stmt -> fetch();
}
}
class PDOStatement_ extends PDOStatement
{
function execute($params = array())
{
if (func_num_args() == 1)
{
$params = func_get_arg(0);
}
else
{
$params = func_get_args();
}
if (!is_array($params))
{
$params = array($params);
}
parent :: execute($params);
return $this;
}
function fetchSingle()
{
return $this -> fetchColumn(0);
}
function fetchAssoc()
{
$this -> setFetchMode(PDO :: FETCH_NUM);
$data = array();
while ($row = $this -> fetch())
{
$data[$row[0]] = $row[1];
}
return $data;
}
}
define (\'DBHOST\', \'localhost\'); //хост
define (\'DBPORT\', \'3306\'); //порт
define (\'DBNAME\', \'jad\'); //имя бд
define (\'DBUSER\', \'mysql\'); //пользователь
define (\'DBPASS\', \'mysql\'); //пароль
class DB
{
static $dbs;
public function __construct()
{
try
{
self :: $dbs = new PDO_(\'mysql:host=\' . DBHOST . \';port=\' . DBPORT . \';dbname=\' . DBNAME, DBUSER, DBPASS);
self :: $dbs -> exec(\'SET CHARACTER SET utf8\');
self :: $dbs -> exec(\'SET NAMES utf8\');
}
catch (PDOException $e)
{
die(\'Connection failed: \' . $e -> getMessage());
}
}
}
?>
класс для роботы с пдо*
  • 1 из 1