1
+ <?php
2
+
3
+ class PDO {
4
+
5
+ public $ pdo ;
6
+ private $ error ;
7
+
8
+
9
+ function __construct () {
10
+ $ this ->connect ();
11
+ }
12
+
13
+ function add_table_prefix ($ string ){
14
+ return DATABASE_PREFIX . $ string ;
15
+ }
16
+
17
+
18
+ function prep_query ($ query ){
19
+ return $ this ->pdo ->prepare ($ query );
20
+ }
21
+
22
+
23
+ function connect (){
24
+ if (!$ this ->pdo ){
25
+
26
+ $ dsn = 'mysql:dbname= ' . DATABASE_NAME . ';host= ' . DATABASE_HOST ;
27
+ $ user = DATABASE_USER ;
28
+ $ password = DATABASE_PASS ;
29
+
30
+ try {
31
+ $ this ->pdo = new PDO ($ dsn , $ user , $ password );
32
+ return true ;
33
+ } catch (PDOException $ e ) {
34
+ $ this ->error = $ e ->getMessage ();
35
+ die ($ this ->error );
36
+ return false ;
37
+ }
38
+ }else {
39
+ $ this ->pdo ->setAttribute ( PDO ::ATTR_ERRMODE , PDO ::ERRMODE_WARNING );
40
+ return true ;
41
+ }
42
+ }
43
+
44
+
45
+ function table_exists ($ table_name ){
46
+ $ stmt = $ this ->prep_query ('SHOW TABLES LIKE ? ' );
47
+ $ stmt ->execute (array ($ this ->add_table_prefix ($ table_name )));
48
+ return $ stmt ->rowCount () > 0 ;
49
+ }
50
+
51
+
52
+ function execute ($ query , $ values = array ()){
53
+ $ stmt = $ this ->pdo ->prepare ($ query );
54
+ $ stmt ->execute ($ values );
55
+ return $ stmt ;
56
+ }
57
+
58
+ function fetch ($ query , $ values = array ()){
59
+ $ stmt = $ this ->execute ($ query , $ values );
60
+ return $ stmt ->fetch (PDO ::FETCH_ASSOC );
61
+ }
62
+
63
+ function fetchAll ($ query , $ values = array ()){
64
+ $ stmt = $ this ->execute ($ query , $ values );
65
+ return $ stmt ->fetchAll (PDO ::FETCH_ASSOC );
66
+ }
67
+
68
+ function lastInsertId (){
69
+ return $ this ->pdo ->lastInsertId ();
70
+ }
71
+
72
+ }
0 commit comments