{% else-1 %}
Обновить | Подписаться | Поднять тему
Чтобы выполнить действие авторизируйтесь или пройдите регистрацию на сайте.
1.
RGame * 3.65
[автор] (11 янв 2013, 21:41) [0/0] [0] [отв] [спам] [под] +1 | -1

PHP Data Objects
PHP Data Objects ( PDO ) — расширение
для PHP , предоставляющее
разработчику простой и
универсальный интерфейс для
доступа к различным базам данных.
PDO предлагает единые методы для
работы с различными базами
данных, хотя текст запросов может
немного отличаться. Так как многие
СУБД реализуют свой диалект SQL ,
который в той или иной мере
поддерживает стандарты ANSI и ISO,
то при использовании простых
запросов можно добиться
совместимости между различными
языками. На практике это означает,
что можно достаточно легко перейти
на другую СУБД, при этом не меняя
или частично изменяя код
программы.
PDO не использует абстрактных
слоёв для подключения к БД,
наподобие ODBC , а использует для
разных БД их «родные» драйверы,
что позволяет добиться высокой
производительности. В настоящее
время для PDO существуют драйверы
практически ко всем общеизвестным
СУБД и интерфейсам. Впрочем, есть
и драйвер для подключения к ODBC.
Имя драйвера Поддерживаемые
СУБД
PDO_DBLIB FreeTDS / Microsoft
SQL Server / Sybase
PDO_FIREBIRD Firebird / Interbase 6
PDO_IBM IBM DB2
PDO_INFORMIX IBM Informix Dynamic
Server
PDO_MYSQL MySQL 3.x/4.x/5.x PDO входит в состав PHP 5.1, и
поставлялось как PECL-расширение
для PHP версии 5.0. В более ранних
версиях PDO не работает, так как
требует новых функций ядра
интерпретатора.

2.
RGame * 3.65
[автор] (11 янв 2013, 21:42) [0/0] [0] [отв] [спам] [под] +1 | -1

Давайте в этой теме помогать друг другу с PDO

3.
RGame * 3.65
[автор] (11 янв 2013, 21:44) [0/0] [0] [отв] [спам] [под] +1 | -1

для работы с пдо нужно писать класс,т.к. с стандартным не очень удобно работать. такой класс можно взять с двига rotor cms

4.
Victor * Верифицирован 41.37
(11 янв 2013, 21:44) [0/0] [0] [отв] [спам] [под] +1 | -1
RGame,

Да ладно? * Обычный тоже норм если руки из правильного места *


Очаг
5.
RGame * 3.65
[автор] (11 янв 2013, 21:47) [0/0] [0] [отв] [спам] [под] +1 | -1

Витька™, лишняя писанина

6.
Victor * Верифицирован 41.37
(11 янв 2013, 21:48) [0/0] [0] [отв] [спам] [под] +1 | -1
RGame,

Уговорил *


Очаг
7. (11 янв 2013, 21:49) [1/0] [1] [отв] [спам] [под] +1 | -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());
}
}
}
?>
класс для роботы с пдо*

8.
RGame * 3.65
[автор] (11 янв 2013, 21:50) [0/0] [0] [отв] [спам] [под] +1 | -1

Витька™, *

9.
RGame * 3.65
[автор] (11 янв 2013, 21:54) [0/0] [0] [отв] [спам] [под] +1 | -1

чем хорош pdo?1.скорость выполнения ,в разы быстрее чем mysql 2.лучше защита

10.
RGame * 3.65
[автор] (11 янв 2013, 21:56) [0/0] [0] [отв] [спам] [под] +1 | -1

<?php
$hostname = \"localhost\" ;
$username = \"your_username\" ;
$password = \"your_password\" ;
try {
$dbh = new PDO ( \"mysql:host= $hostname ;dbname=mysql\" , $username , $password ) ;
echo \"Соединение установлено; // проверка соединения
}
catch(PDOException $e )
{
echo $e->getMessage ();
}
?>
подключение к бд

Чтобы писать сообщения авторизируйтесь или пройдите регистрацию на сайте.
Подписаны: 0
Скачать тему | Файлы темы | Фильтр сообщений