首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >YOURLS插件用于筛选特定MySQL列的API调用

YOURLS插件用于筛选特定MySQL列的API调用
EN

Stack Overflow用户
提问于 2016-05-24 04:19:11
回答 1查看 300关注 0票数 1

我有一个网站,其中有一个功能,让用户创建缩短的网址。为了处理URL缩短,我使用了尤尔斯 (一个开源的URL简写器),它运行在我的另一台服务器上,并通过API调用连接这两个站点。

我已经创建了一个带有一些自定义YOURLS插件API动作,所以当用户创建一个短URL时,它会将他们的用户ID从我的网站附加到yourls_url表中,如下所示:

当用户访问他们的“我的链接”页面时,我需要进行一个API调用,以返回该用户创建的所有短URL。要做到这一点,只需为"统计数据“创建一个过滤器就可以了。

这是我创建的过滤器,它应该只返回指定用户创建的URL:

代码语言:javascript
复制
yourls_add_filter( 'api_result_stats', 'separate_users_api_stats' );

function separate_users_api_stats() {
    global $ydb;

    $user = ( isset( $_REQUEST['user'] ) ? $_REQUEST['user'] : '' );

    $table = YOURLS_DB_TABLE_URL;
    $result = $ydb->query("SELECT * FROM `$table` WHERE  `user` = '" . $user . "'");

    return $result > 0;

}

为了测试这一点,我可以尝试http://example.com/yourls-api.php?action=stats&user=test123&limit=10&filter=last&signature=xxxxxxxxxx,但不幸的是,我所收到的只是:

我对PHP/MYSQL不太熟悉,所以我已经坚持了很长一段时间了,如果有人对我的错误有任何想法或者可以举个例子的话,我们会非常感激的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-30 21:16:45

以下是为我解决这一问题的原因:

代码语言:javascript
复制
yourls_add_filter( 'api_result_stats', 'separate_users_api_stats' );

function separate_users_api_stats() {
    global $ydb;

    $user = ( isset( $_REQUEST['user'] ) ? $_REQUEST['user'] : '' );

    $table = YOURLS_DB_TABLE_URL;

    $query = "SELECT * FROM `$table` WHERE `user` = '" . $user . "'";

    $result = $ydb -> get_results($query);

    return $result;

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37404322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档