首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mybb更新查询不工作

Mybb更新查询不工作
EN

Stack Overflow用户
提问于 2017-02-26 02:43:07
回答 1查看 262关注 0票数 0

我在我的mybb论坛上有个功能。它是一个插件的一部分,它依赖于特定的论坛,并在成员页面上显示日期(除其他外)。

此部分用于用户删除其帖子时使用。然后,它应该在设置的论坛中找到已删除的帖子之前的最后一篇文章,并在用户的成员页面上显示(旧的)日期。

但是,更新查询不起作用,我不知道问题出在哪里。

这是我的密码。没有错误,但它也没有写入数据库。

代码语言:javascript
复制
function lastippost_update($pid)
{ 
    global $db, $mybb;
    $query = $db->simple_select("posts","fid,uid,dateline","pid='{$pid}'");
    $post = $db->fetch_array($query);
    if ($mybb->settings['lastippost'] != '')
    {
            $ipids = $mybb->settings['lastippost'];
            if (in_array($post['fid'], $ipids))
            {
                    $ipquery = $db->write_query("SELECT uid,dateline FROM ".TABLE_PREFIX."posts WHERE fid IN ($ipids) AND uid='".$post['uid']."' ORDER BY dateline DESC LIMIT 1 OFFSET 1");
                    $ippost = $db->fetch_array($ipquery);
                    $db->update_query("users", array('lastippost' => $ippost['dateline']), "uid='".$ippost['uid']."'");
            }
    }

}

$ipids是一个以逗号分隔的论坛ids列表。

我不知道这是否有帮助,但我有另一个非常相似的代码,它可以工作

代码语言:javascript
复制
             $ipids = $mybb->settings['lastippost'];
             $ipquery = $db->write_query("SELECT uid, dateline FROM ".TABLE_PREFIX."posts WHERE fid IN ($ipids) ORDER BY uid,dateline DESC");
             while ($ippost = mysql_fetch_assoc($ipquery))
             {
                     if($ippost['uid'] != $lastuid)
                     {
                             $db->update_query("users", array('lastippost' => $ippost['dateline']), "uid='".$ippost['uid']."'");
                     }
                     $lastuid = $ippost['uid'];
             }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-26 11:56:48

好吧,我发现了我的问题:

代码语言:javascript
复制
$ipids = $mybb->settings['lastippost'];

上面是一个字符串。我需要它用于select查询。但是这个部分显然是指一个数组:

代码语言:javascript
复制
if (in_array($post['fid'], $ipids))

这可能不是最好的解决方案,但现在我已经做了这样的事情,它起作用了:

代码语言:javascript
复制
$ipids = $mybb->settings['lastippost'];
$ipids2 = explode(",", trim($ipids));

第一个用于select查询,第二个用于in_array

谢谢你的帮助!(我仍然愿意为更优雅的解决方案提供建议:)

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

https://stackoverflow.com/questions/42464137

复制
相关文章

相似问题

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