]> git.wh0rd.org - tt-rss.git/blame - classes/db/mysqli.php
strip_harmful_tags: remove data- attributes
[tt-rss.git] / classes / db / mysqli.php
CommitLineData
ae35bb87
AD
1<?php
2class Db_Mysqli implements IDb {
3 private $link;
977cea14 4 private $last_error;
ae35bb87
AD
5
6 function connect($host, $user, $pass, $db, $port) {
b20b6af0
AD
7 if ($port)
8 $this->link = mysqli_connect($host, $user, $pass, $db, $port);
9 else
10 $this->link = mysqli_connect($host, $user, $pass, $db);
ae35bb87
AD
11
12 if ($this->link) {
13 $this->init();
14
15 return $this->link;
16 } else {
3c111597
AD
17 print("Unable to connect to database (as $user to $host, database $db): " . mysqli_connect_error());
18 exit(102);
ae35bb87
AD
19 }
20 }
21
22 function escape_string($s, $strip_tags = true) {
23 if ($strip_tags) $s = strip_tags($s);
24
25 return mysqli_real_escape_string($this->link, $s);
26 }
27
28 function query($query, $die_on_error = true) {
38f43970 29 $result = @mysqli_query($this->link, $query);
ae35bb87 30 if (!$result) {
977cea14 31 $this->last_error = @mysqli_error($this->link);
38f43970
AD
32
33 @mysqli_query($this->link, "ROLLBACK");
977cea14 34 user_error("Query $query failed: " . ($this->link ? $this->last_error : "No connection"),
ae35bb87
AD
35 $die_on_error ? E_USER_ERROR : E_USER_WARNING);
36 }
37
38 return $result;
39 }
40
41 function fetch_assoc($result) {
42 return mysqli_fetch_assoc($result);
43 }
44
45
46 function num_rows($result) {
47 return mysqli_num_rows($result);
48 }
49
50 function fetch_result($result, $row, $param) {
51 if (mysqli_data_seek($result, $row)) {
52 $line = mysqli_fetch_assoc($result);
53 return $line[$param];
54 } else {
55 return false;
56 }
57 }
58
59 function close() {
60 return mysqli_close($this->link);
61 }
62
63 function affected_rows($result) {
64 return mysqli_affected_rows($this->link);
65 }
66
67 function last_error() {
7c6f7bb0 68 return mysqli_error($this->link);
ae35bb87
AD
69 }
70
977cea14
AD
71 function last_query_error() {
72 return $this->last_error;
73 }
74
ae35bb87
AD
75 function init() {
76 $this->query("SET time_zone = '+0:0'");
77
78 if (defined('MYSQL_CHARSET') && MYSQL_CHARSET) {
ab8daa03 79 mysqli_set_charset($this->link, MYSQL_CHARSET);
ae35bb87
AD
80 }
81
82 return true;
83 }
84
85}