SlightPHP\Db::__query PHP Method

__query() private method

query
private __query ( string $sql ) : Array
$sql string
return Array $result || Boolean false
    private function __query($sql)
    {
        //{{{
        //SQL MODE 默认为DELETE,INSERT,REPLACE 或 UPDATE,不需要返回值
        $sql_mode = 1;
        //1.更新模式 2.查询模式 3.插入模式
        if (stripos($sql, "INSERT") === 0) {
            $sql_mode = 3;
        } else {
            $sql_result_query = array("SELECT", "SHOW", "DESCRIBE", "EXPLAIN");
            foreach ($sql_result_query as $query_type) {
                if (stripos($sql, $query_type) === 0) {
                    $sql_mode = 2;
                    break;
                }
            }
        }
        //}}}
        if (defined("DEBUG")) {
            trigger_error("{$this->_engine_name} ( {$sql} )");
        }
        $result = $this->engine->query($sql);
        if ($result) {
            if ($sql_mode == 2) {
                //查询模式
                if (($data = $this->engine->getAll()) !== false) {
                    return $data;
                }
            } elseif ($sql_mode == 3) {
                //插入模式
                return $this->engine->lastId();
            } else {
                return $this->engine->count();
            }
        }
        $this->error['code'] = $this->engine->errno();
        $this->error['msg'] = $this->engine->error();
        unset(Db::$_globals[$this->_key]);
        trigger_error("DB QUERY ERROR (" . var_export($this->error['msg'], true) . "), CODE({$this->error['code']}), SQL({$sql})", E_USER_WARNING);
        return false;
    }