應(yīng)用市場

萬能查詢API
  • 價格:
  • 20
  • 更新時間: 2025-06-24 17:01
商品詳情 升級日志 購買流程
  • 聯(lián)系賣家
  • 1204627849 復(fù)制

商品屬性
    • 品牌Eyoucms
    • 語言PHP
    • 數(shù)據(jù)庫Mysql
    • 環(huán)境適用于易優(yōu) v1.6.5 及以上版本系統(tǒng)
    • 大小66.85B
    • 版本號1.0.0
    • 編碼UTF-8
    • 源文件 完全開源(含全部源文件)
商品介紹

UniversalQuery 萬能查詢API插件

?? 簡介

UniversalQuery 是一個萬能查詢API插件,提供靈活強(qiáng)大的數(shù)據(jù)庫查詢接口,支持任意表查詢、連表查詢、條件篩選等功能,輸出JSON和XML格式數(shù)據(jù)。

? 特性

  • ?? 萬能查詢 - 支持查詢?nèi)我鈹?shù)據(jù)表和字段
  • ?? 連表查詢 - 支持多表JOIN(left join)查詢,自動識別關(guān)聯(lián)關(guān)系
  • ?? 靈活條件 - 支持多種WHERE操作符(=、>、<、LIKE、IN等)
  • ?? 聚合函數(shù) - 支持COUNT、SUM、AVG、MAX、MIN等統(tǒng)計(jì)查詢
  • ?? 安全可靠 - 參數(shù)化查詢防SQL注入,基本安全檢查
  • ?? 多格式輸出 - 支持JSON和XML格式
  • ?? 完整文檔 - 內(nèi)置API文檔和使用示例

?? 快速開始

API接口

1. 萬能查詢接口

URL: /index.php?s=weapp/UniversalQuery/query

方法: GET/POST

參數(shù):

  • table (必需) - 表名,支持任意數(shù)據(jù)表
  • fields (可選) - 查詢字段,用逗號分隔,默認(rèn) *
  • join (可選) - 連表查詢(使用LEFT JOIN),格式:table1,table2
  • on (可選) - 自定義連表?xiàng)l件,格式:table1.field=table2.field
  • where (可選) - WHERE條件,格式:field:operator:value
  • limit (可選) - 限制條數(shù),默認(rèn)10,最大50
  • page (可選) - 頁碼,默認(rèn)1,用于分頁查詢
  • offset (可選) - 偏移量,默認(rèn)0,直接指定起始位置
  • order (可選) - 排序字段,格式:field 或 field:desc
  • format (可選) - 返回格式:json/xml,默認(rèn)json

基本使用

1. 查詢文章列表

GET /index.php?s=weapp/UniversalQuery/query&table=archives&fields=aid,title,add_time&limit=5&order=aid:desc

2. 自定義連表?xiàng)l件帶on的

GET /index.php?s=weapp/UniversalQuery/query&table=archives&join=arctype&on=archives.typeid=arctype.id&fields=archives.title,arctype.typename&where=archives.status:=:1&limit=10

3. 多表連接(自定義ON條件)

GET /index.php?s=weapp/UniversalQuery/query&table=archives&join=product_content,arctype&on=product_content:archives.aid=product_content.aid,arctype:archives.typeid=arctype.id&fields=archives.title,product_content.seo_title,arctype.typename&where=archives.channel:=:2&limit=10

4. 統(tǒng)計(jì)文章數(shù)量

GET /index.php?s=weapp/UniversalQuery/query&table=archives&fields=count(*) as total&where=channel:=:1

5. 分頁查詢示例

# 頁碼分頁(第2頁,每頁10條)
GET /index.php?s=weapp/UniversalQuery/query&table=archives&limit=10&page=2

使用示例

JavaScript Ajax 調(diào)用

// 基礎(chǔ)查詢fetch('/index.php?s=weapp/UniversalQuery/query&table=archives&fields=aid,title&limit=5')
    .then(response => response.json())
    .then(data => {
        if (data.code === 1) {
            console.log('查詢成功:', data.data);
            console.log('記錄數(shù):', data.count);
        } else {
            console.error('查詢失敗:', data.msg);
        }
    });// 分頁查詢fetch('/index.php?s=weapp/UniversalQuery/query&table=archives&limit=10&page=2')
    .then(response => response.json())
    .then(data => {
        if (data.code === 1) {
            console.log('總記錄數(shù):', data.total);
            console.log('當(dāng)前頁:', data.pagination.current_page);
            console.log('總頁數(shù):', data.pagination.total_pages);
        }
    });

PHP 調(diào)用

// 基礎(chǔ)查詢$url = '/index.php?s=weapp/UniversalQuery/query&table=archives&where=channel:=:2&limit=10';$response = file_get_contents($url);$data = json_decode($response, true);if ($data['code'] === 1) {
    foreach ($data['data'] as $item) {
        echo $item['title'] . "\n";
    }}// POST請求查詢$postData = http_build_query([
    'table' => 'product_content',
    'fields' => 'aid,title,users_price',
    'where' => 'status:=:1,users_price:>:0',
    'limit' => 20,
    'order' => 'users_price:desc']);$context = stream_context_create([
    'http' => [
        'method' => 'POST',
        'header' => 'Content-type: application/x-www-form-urlencoded',
        'content' => $postData
    ]]);$response = file_get_contents('/index.php?s=weapp/UniversalQuery/query', false, $context);$data = json_decode($response, true);// 分頁查詢示例$url = '/index.php?s=weapp/UniversalQuery/query&table=archives&limit=10&page=2';$response = file_get_contents($url);$data = json_decode($response, true);if ($data['code'] === 1) {
    echo "總記錄數(shù): " . $data['total'] . "\n";
    echo "當(dāng)前頁: " . $data['pagination']['current_page'] . "\n";
    echo "總頁數(shù): " . $data['pagination']['total_pages'] . "\n";}

jQuery 示例

// 動態(tài)查詢表單$('#queryForm').on('submit', function(e) {
    e.preventDefault();
    
    const params = {
        table: $('#table').val(),
        fields: $('#fields').val() || '*',
        where: $('#where').val(),
        limit: $('#limit').val() || 10,
        order: $('#order').val()
    };
    
    $.get('/index.php?s=weapp/UniversalQuery/query', params)
        .done(function(data) {
            if (data.code === 1) {
                displayResults(data.data);
            } else {
                alert('查詢失敗: ' + data.msg);
            }
        });});

安全機(jī)制

  1. 參數(shù)化查詢 - 使用ThinkPHP的安全查詢方法,防止SQL注入
  2. 基本安全檢查 - 表名和字段名只允許字母、數(shù)字、下劃線
  3. 操作符白名單 - 只允許安全的SQL操作符
  4. 查詢限制 - 限制單次查詢的最大記錄數(shù)(最大50條)
  5. 字段驗(yàn)證 - 支持聚合函數(shù)和AS別名的安全驗(yàn)證

?? 更新日志

v1.0.0

  • ? 支持任意表查詢
  • ? 支持連表查詢功能
  • ? 支持聚合函數(shù)查詢
  • ? 完善的安全機(jī)制

版本: 1.0.0
作者: 小明


升級日志
   交易規(guī)則

1、發(fā)貨方式:購買后,請去綁定域名的網(wǎng)站后臺>插件應(yīng)用>已購買插件里安裝;

2、授權(quán)范圍:插件授權(quán)包含授權(quán)域名下的子域名(小程序相關(guān)插件除外);

3、域名修改:第一次修改免費(fèi)(限購買30天內(nèi));30天后兩年內(nèi)修改:均按插件最新價格的5折算;兩年后修改:按插件最新價格的8折算。插件價格低于10元時,均按照10元算。

4、退款規(guī)則:請?jiān)谧屑?xì)了解產(chǎn)品功能并確定需要購買后再付款購買,如果不是功能問題恕不提供退款服務(wù);

5、免責(zé)聲明:第三方開發(fā)者出售的插件售后均有該開發(fā)者承擔(dān),如果插件資源和包含的圖片素材損害了您的權(quán)益,請聯(lián)系網(wǎng)站客服確認(rèn)處理;

6、禁止行為:請勿使用盜版插件,輕則有木馬漏洞,重則對你的系統(tǒng)核心文件造成損壞,這類行為導(dǎo)致的后果官方概不負(fù)責(zé)。

QQ在線咨詢
AI智能客服 ×