diff options
| author | Malf Furious <m@lfurio.us> | 2015-12-17 00:39:54 -0500 | 
|---|---|---|
| committer | Malf Furious <m@lfurio.us> | 2015-12-17 00:39:54 -0500 | 
| commit | bdc8790368e2f8b247c8492507d4083ddfbd61c1 (patch) | |
| tree | 48a7d3033e7841ef2763edaa893b4def75e668bc /app/class/mysql.class.php | |
| parent | 2dd0900cd5c2adb610fd35e10133dd9fc10ca0f9 (diff) | |
| download | scrott-bdc8790368e2f8b247c8492507d4083ddfbd61c1.tar.gz scrott-bdc8790368e2f8b247c8492507d4083ddfbd61c1.zip | |
+ Added generic database interface to use throughout the app since I'm planning on supporting multiple database engines
+ Defined interface for Mysql DBMS for Scrott
Diffstat (limited to 'app/class/mysql.class.php')
| -rw-r--r-- | app/class/mysql.class.php | 63 | 
1 files changed, 63 insertions, 0 deletions
| diff --git a/app/class/mysql.class.php b/app/class/mysql.class.php new file mode 100644 index 0000000..b08257f --- /dev/null +++ b/app/class/mysql.class.php @@ -0,0 +1,63 @@ +<?php + +require_once "class/database.iface.php"; + +/* + * MySQL support for Scrott + */ +class Mysql implements Database +{ +    /* +     * Constructor +     */ +    function __construct($host, $username, $password, $dbName) +    { +        $this->db = new mysqli($host, $username, $password, $dbName); + +        if ($this->db->connect_error) +            throw new Exception("Can not connect to Mysql database. Please check your Scrott configuration."); +    } + +    /* +     * Destructor +     */ +    function __destruct() +    { +        $this->close(); +    } + +    /* +     * Close connection to DB +     */ +    function close() +    { +        $this->db->close(); +    } + +    /* +     * Make a query of the database. Return data as an array of arrays +     */ +    function query($query) +    { +        $arr = array(); +        $res = $this->db->query($query); + +        if ($res === true || $res === false) +            return $arr; + +        foreach ($res as $r) +            $arr[] = $r->fetch_assoc(); + +        return $arr; +    } + +    /* +     * Escape a string for use in a query +     */ +    function esc($string) +    { +        return $this->db->real_escape_string($string); +    } +} + +?> | 
