<?php /* * SCROTT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * For more information, please refer to UNLICENSE */ require_once "class/database.class.php"; /* * This class implements support for MySQL and MariaDB via PHP's mysqli * driver. */ class mysql extends database { private $db; /* * Constructor */ public function __construct(string $host, string $uname, string $passwd, string $dbname) { $this->db = new mysqli($host, $uname, $passwd, $dbname); if ($this->db->connect_error) throw new Exception("Can not connect to MySQL database. Please check your configuration."); } /* * Close connection to DB */ public function close() : void { $this->db->close(); } /* * Make a query of the database. Return data as an array of arrays. */ public function query(string $query) : array { $arr = array(); $res = $this->db->query($query); if ($res === true || $res === false) return $arr; while (($arr[] = $res->fetch_assoc())); return $arr; } /* * Escape a string for use in a query */ public function esc(string $str) : string { return $this->db->real_escape_string($str); } } ?>