<?php /* * SCROTT Copyright (C) 2016 Malf Furious * * Scrott is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published * by the Free Software Foundation, either version 3 of the License, * or (at your option) any later version. * * Scrott is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. */ 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; while ($r = $res->fetch_assoc()) $arr[] = $r; return $arr; } /* * Escape a string for use in a query */ function esc($string) { return $this->db->real_escape_string($string); } } ?>