]>
git.wh0rd.org - tt-rss.git/blob - classes/db/pdo.php
3aeebbe678fea9184cb1362359b5839f5fe6cb97
2 class Db_PDO
implements IDb
{
5 function connect($host, $user, $pass, $db, $port) {
6 $connstr = DB_TYPE
. ":host=$host;dbname=$db";
8 if (DB_TYPE
== "mysql") $connstr .= ";charset=utf8";
11 $this->pdo
= new PDO($connstr, $user, $pass);
12 $this->pdo
->setAttribute(PDO
::ATTR_ERRMODE
, PDO
::ERRMODE_EXCEPTION
);
14 } catch (PDOException
$e) {
15 die($e->getMessage());
21 function escape_string($s, $strip_tags = true) {
22 if ($strip_tags) $s = strip_tags($s);
24 $qs = $this->pdo
->quote($s);
26 return mb_substr($qs, 1, mb_strlen($qs)-2);
29 function query($query, $die_on_error = true) {
31 return new Db_Stmt($this->pdo
->query($query));
32 } catch (PDOException
$e) {
33 user_error($e->getMessage(), $die_on_error ? E_USER_ERROR
: E_USER_WARNING
);
37 function fetch_assoc($result) {
40 return $result->fetch();
44 } catch (PDOException
$e) {
45 user_error($e->getMessage(), E_USER_WARNING
);
49 function num_rows($result) {
52 return $result->rowCount();
56 } catch (PDOException
$e) {
57 user_error($e->getMessage(), E_USER_WARNING
);
61 function fetch_result($result, $row, $param) {
62 return $result->fetch_result($row, $param);
69 function affected_rows($result) {
72 return $result->rowCount();
76 } catch (PDOException
$e) {
77 user_error($e->getMessage(), E_USER_WARNING
);
81 function last_error() {
82 return join(" ", $this->pdo
->errorInfo());
88 $this->query("set client_encoding = 'UTF-8'");
89 $this->query("set datestyle = 'ISO, european'");
90 $this->query("set TIME ZONE 0");
93 $this->query("SET time_zone = '+0:0'");