S2OJ/web/app/models/DB.php

78 lines
2.0 KiB
PHP
Raw Permalink Normal View History

2016-07-18 16:39:37 +00:00
<?php
class DB {
public static function init() {
global $uojMySQL;
@$uojMySQL = mysqli_connect(UOJConfig::$data['database']['host'] . ':3306', UOJConfig::$data['database']['username'], UOJConfig::$data['database']['password'], UOJConfig::$data['database']['database']);
2016-07-18 16:39:37 +00:00
if (!$uojMySQL) {
echo 'There is something wrong with database >_<.... ' . mysqli_connect_error();
2016-07-18 16:39:37 +00:00
die();
}
}
public static function escape($str) {
global $uojMySQL;
return mysqli_real_escape_string($uojMySQL, $str);
2016-07-18 16:39:37 +00:00
}
public static function fetch($r, $opt = MYSQLI_ASSOC) {
global $uojMySQL;
return mysqli_fetch_array($r, $opt);
2016-07-18 16:39:37 +00:00
}
public static function query($q) {
global $uojMySQL;
return mysqli_query($uojMySQL, $q);
2016-07-18 16:39:37 +00:00
}
public static function update($q) {
global $uojMySQL;
return mysqli_query($uojMySQL, $q);
2016-07-18 16:39:37 +00:00
}
public static function insert($q) {
global $uojMySQL;
return mysqli_query($uojMySQL, $q);
2016-07-18 16:39:37 +00:00
}
public static function insert_id() {
global $uojMySQL;
return mysqli_insert_id($uojMySQL);
2016-07-18 16:39:37 +00:00
}
public static function delete($q) {
global $uojMySQL;
return mysqli_query($uojMySQL, $q);
2016-07-18 16:39:37 +00:00
}
public static function select($q) {
global $uojMySQL;
return mysqli_query($uojMySQL, $q);
2016-07-18 16:39:37 +00:00
}
public static function selectAll($q, $opt = MYSQLI_ASSOC) {
global $uojMySQL;
2016-07-18 16:39:37 +00:00
$res = array();
$qr = mysqli_query($uojMySQL, $q);
while ($row = mysqli_fetch_array($qr, $opt)) {
2016-07-18 16:39:37 +00:00
$res[] = $row;
}
return $res;
}
public static function selectFirst($q, $opt = MYSQLI_ASSOC) {
global $uojMySQL;
return mysqli_fetch_array(mysqli_query($uojMySQL, $q), $opt);
2016-07-18 16:39:37 +00:00
}
public static function selectCount($q) {
global $uojMySQL;
list($cnt) = mysqli_fetch_array(mysqli_query($uojMySQL, $q), MYSQLI_NUM);
2016-07-18 16:39:37 +00:00
return $cnt;
}
public static function checkTableExists($name) {
global $uojMySQL;
2016-07-18 16:39:37 +00:00
return DB::query("select 1 from $name") !== false;
}
public static function num_rows() {
global $uojMySQL;
return mysqli_num_rows($uojMySQL);
2016-07-18 16:39:37 +00:00
}
public static function affected_rows() {
global $uojMySQL;
return mysqli_affected_rows($uojMySQL);
2016-07-18 16:39:37 +00:00
}
}