Exemple #1
0
 public static function connect()
 {
     self::$conn = new PDO("mysql:host=" . DB_HOST . ";dbname=" . DB_NAME . ";", DB_USER, DB_PASS);
     self::$conn->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
     self::$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     self::$result = false;
 }
 /**
  * static function to get instance of db
  * return type
  */
 public static function getInstance()
 {
     if (self::$conn == null) {
         self::$conn = new db();
     }
     return self::$conn;
 }
Exemple #3
0
 function __destruct()
 {
     if (is_resource(self::$conn)) {
         mysql_close(self::$conn);
     }
     self::$conn = null;
     self::$object = null;
 }
Exemple #4
0
function getList()
{
    //连接数据库
    $obj = new db('localhost', 'root', 'root', 'recursion');
    $con = $obj->conn();
    $sql = "SELECT id,cname,concat(path,',',id)as fpath FROM category ORDER BY fpath asc";
    $query = mysqli_query($con, $sql);
    while ($row = mysqli_fetch_assoc($query)) {
        $row['cname'] = str_repeat('  ', count(explode(',', trim($row['fpath'], ',')))) . '!--' . $row['cname'];
        $res[] = $row;
    }
    return $res;
}
Exemple #5
0
 public static function conn()
 {
     self::$conn = new mysqli(global_val("servername"), global_val("username"), global_val("password"));
     // Check connection
     if (self::$conn->connect_error) {
         die("Connection failed: " . self::$conn->connect_error);
     }
     //check if we need to create the database
     self::create_database();
     self::$conn->select_db(global_val("databasename"));
     //check if we need to create tables
     self::create_tables();
     return self::$conn;
 }
function getList($id, &$result = [])
{
    //连接数据库
    $obj = new db('localhost', 'root', 'root', 'recursion');
    $con = $obj->conn();
    $sql = "SELECT * FROM columns WHERE id={$id}";
    $res = mysqli_query($con, $sql);
    $row = mysqli_fetch_assoc($res);
    if ($row) {
        $result[] = $row;
        getList($row['pid'], $result);
    }
    return $result;
}
Exemple #7
0
function recur(&$pid = 0, &$result = [], $spac = 0)
{
    //连接数据库
    $obj = new db('localhost', 'root', 'root', 'recursion');
    $con = $obj->conn();
    $sql = "SELECT * FROM columns WHERE pid={$pid}";
    $res = mysqli_query($con, $sql);
    $spac = $spac + 2;
    while ($row = mysqli_fetch_assoc($res)) {
        $row['cname'] = str_repeat('  ', $spac) . '!-' . $row['cname'];
        $result[] = $row;
        recur($row['id'], $result, $spac);
    }
    return $result;
}
 public static function read()
 {
     $conn = db::conn();
     //return the most recent action_val
     $a = array();
     $result = $conn->query("select action_val from telep order by ID desc limit 1") or die("telep read failed");
     if ($row = $result->fetch_assoc()) {
         $a["action"] = $row['action_val'];
     } else {
         $a["action"] = "stop";
         //default
     }
     self::json_headers();
     echo json_encode($a);
     exit;
 }
Exemple #9
0
function getList($cid)
{
    $obj = new db('localhost', 'root', 'root', 'recursion');
    $con = $obj->conn();
    $sql = "SELECT id,cname,concat(path,',',id) as fpath from category WHERE id={$cid}";
    $query = mysqli_query($con, $sql);
    $row = mysqli_fetch_assoc($query);
    // $ids = explode(',',$row['fpath']);
    $ids = $row['fpath'];
    /*var_dump($ids);
    		exit;*/
    $sql_2 = "SELECT * FROM category where id in ({$ids}) order by id asc";
    $query_2 = mysqli_query($con, $sql_2);
    while ($row = mysqli_fetch_assoc($query_2)) {
        $result[] = $row;
    }
    return $result;
}
Exemple #10
0
 public static function query($sql)
 {
     $sql = trim($sql);
     // 初始化数据库
     self::_init_mysql();
     self::$rsid = @mysqli_query(self::$conn, $sql);
     if (self::$rsid === false) {
         // 不要每次都ping,浪费流量浪费性能,执行出错了才重新连接
         $errno = mysqli_errno(self::$conn);
         if ($errno == 2013 || $errno == 2006) {
             @mysqli_close(self::$conn);
             self::$conn = null;
             return self::query($sql);
         }
         echo "Query SQL: " . $sql . "\n";
         echo "Error SQL: ErrorNo --- " . mysqli_errno(self::$conn) . ' --- Error --- ' . mysqli_error(self::$conn) . "\n";
         $backtrace = debug_backtrace();
         array_shift($backtrace);
         $narr = array('class', 'type', 'function', 'file', 'line');
         $err = "debug_backtrace:\n";
         foreach ($backtrace as $i => $l) {
             foreach ($narr as $k) {
                 if (!isset($l[$k])) {
                     $l[$k] = '';
                 }
             }
             $err .= "[{$i}] in function {$l['class']}{$l['type']}{$l['function']} ";
             if ($l['file']) {
                 $err .= " in {$l['file']} ";
             }
             if ($l['line']) {
                 $err .= " on line {$l['line']} ";
             }
             $err .= "\n\n";
         }
         echo $err;
         return false;
     } else {
         self::$query_count++;
         return self::$rsid;
     }
 }
Exemple #11
0
 public static function ping()
 {
     if (!mysqli_ping(self::$conn)) {
         @mysqli_close(self::$conn);
         self::$conn = null;
         self::_init_mysql();
     }
 }
Exemple #12
0
<?php

$tpl = $PAGE->start();
$USER->start($tpl);
if (!$USER->islogin || $USER->uid != 1 && $USER->uid != 2) {
    die('403 Forbidden');
}
$sql = trim(str_replace(array(chr(12), " "), array("\n", ' '), $_POST['sql']));
if ($sql != '') {
    $db2 = $db = db::conn(false);
    $db = $db->query($sql);
    if (!$db) {
        $tpl->assign('msg', $db2->errorinfo());
        $db = array();
        $ok = false;
    } else {
        $ok = true;
        $db = $db->fetchall(db::ass);
    }
    $tpl->assign('sql', $sql);
    $tpl->assign('db', $db);
    $tpl->assign('ok', $ok);
} else {
    $tpl->assign('sql', '');
    $tpl->assign('db', array());
    $tpl->assign('ok', null);
}
$tpl->display('tpl:sql');
Exemple #13
0
 /**
 * 连接数据库
 * 参数:
 * $read_only  如果为true,打开一个只读的数据库连接,只允许查询;否则打开一个可读可写的连接。实现分布式应用的读写分离。
 */
 protected static function conn($read_only = false)
 {
     return db::conn('user', $read_only);
 }
 function __construct()
 {
     $this->conn = db::conn();
     //connect to mysql
 }