应用市场

收藏插件 举报
分享:
万能查询API
  • 价格:
  • 20
  • 更新时间: 2025-06-24 17:01
商品详情 升级日志 购买流程
  • 联系卖家
  • 1204627849 复制

商品属性
    • 品牌Eyoucms
    • 语言PHP
    • 数据库Mysql
    • 环境适用于易优 v1.6.5 及以上版本系统
    • 大小66.85B
    • 版本号1.0.0
    • 编码UTF-8
    • 源文件 完全开源(含全部源文件)
商品介绍

UniversalQuery 万能查询API插件

📖 简介

UniversalQuery 是一个万能查询API插件,提供灵活强大的数据库查询接口,支持任意表查询、连表查询、条件筛选等功能,输出JSON和XML格式数据。

✨ 特性

  • 🔍 万能查询 - 支持查询任意数据表和字段
  • 🔗 连表查询 - 支持多表JOIN(left join)查询,自动识别关联关系
  • 🎯 灵活条件 - 支持多种WHERE操作符(=、>、<、LIKE、IN等)
  • 📊 聚合函数 - 支持COUNT、SUM、AVG、MAX、MIN等统计查询
  • 🔒 安全可靠 - 参数化查询防SQL注入,基本安全检查
  • 📤 多格式输出 - 支持JSON和XML格式
  • 📝 完整文档 - 内置API文档和使用示例

🚀 快速开始

API接口

1. 万能查询接口

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

方法: GET/POST

参数:

  • table (必需) - 表名,支持任意数据表
  • fields (可选) - 查询字段,用逗号分隔,默认 *
  • join (可选) - 连表查询(使用LEFT JOIN),格式:table1,table2
  • on (可选) - 自定义连表条件,格式:table1.field=table2.field
  • where (可选) - WHERE条件,格式:field:operator:value
  • limit (可选) - 限制条数,默认10,最大50
  • page (可选) - 页码,默认1,用于分页查询
  • offset (可选) - 偏移量,默认0,直接指定起始位置
  • order (可选) - 排序字段,格式:field 或 field:desc
  • format (可选) - 返回格式:json/xml,默认json

基本使用

1. 查询文章列表

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

2. 自定义连表条件带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. 统计文章数量

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 调用

// 基础查询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('记录数:', 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('总记录数:', data.total);
            console.log('当前页:', data.pagination.current_page);
            console.log('总页数:', data.pagination.total_pages);
        }
    });

PHP 调用

// 基础查询$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 "总记录数: " . $data['total'] . "\n";
    echo "当前页: " . $data['pagination']['current_page'] . "\n";
    echo "总页数: " . $data['pagination']['total_pages'] . "\n";}

jQuery 示例

// 动态查询表单$('#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);
            }
        });});

安全机制

  1. 参数化查询 - 使用ThinkPHP的安全查询方法,防止SQL注入
  2. 基本安全检查 - 表名和字段名只允许字母、数字、下划线
  3. 操作符白名单 - 只允许安全的SQL操作符
  4. 查询限制 - 限制单次查询的最大记录数(最大50条)
  5. 字段验证 - 支持聚合函数和AS别名的安全验证

📝 更新日志

v1.0.0

  • ✅ 支持任意表查询
  • ✅ 支持连表查询功能
  • ✅ 支持聚合函数查询
  • ✅ 完善的安全机制

版本: 1.0.0
作者: 小明


升级日志
   交易规则

1、发货方式:购买后,请去绑定域名的网站后台>插件应用>已购买插件里安装;

2、授权范围:插件授权包含授权域名下的子域名(小程序相关插件除外);

3、域名修改:第一次修改免费(限购买30天内);30天后两年内修改:均按插件最新价格的5折算;两年后修改:按插件最新价格的8折算。插件价格低于10元时,均按照10元算。

4、退款规则:请在仔细了解产品功能并确定需要购买后再付款购买,如果不是功能问题恕不提供退款服务;

5、免责声明:第三方开发者出售的插件售后均有该开发者承担,如果插件资源和包含的图片素材损害了您的权益,请联系网站客服确认处理;

6、禁止行为:请勿使用盗版插件,轻则有木马漏洞,重则对你的系统核心文件造成损坏,这类行为导致的后果官方概不负责。

QQ在线咨询
AI智能客服 ×