表名:cdb_settings+--------------+----------------------------------------------------------------
-------------------------------------------------------+
| variable     | value
                                                       |
+--------------+----------------------------------------------------------------
-------------------------------------------------------+
| forumdomains | a:4:{i:4;s:16:"bbs1.discuz7.com";i:6;s:16:"bbs2.discuz7.com";i:2;s:17:"bbs3.discuz7.com";i:9;s:14:"bbs4.discuz7.com";} |
+--------------+----------------------------------------------------------------
-------------------------------------------------------+当我知道域名的时候怎么查找ID
比如我想查询出 bbs2.discuz7.com 的i=6中的 6 请问怎么查询? 

解决方案 »

  1.   

    哦,可能MYSQL没有必要查询了,使用PHP显示6出来也可以
      

  2.   

    这个存储在数据库中的配置类的信息数据,最好是用程序读出后进行处理。如果直接用SQL语句处理反而效率不高。
      

  3.   

    恩,我看了下Discuz7.2的代码大致有这些
    $forumdomains = array();
    $query = $db->query("SELECT value FROM {$tablepre}settings WHERE variable='forumdomains'");
    $forumdomains = @unserialize($db->result($query, 0));由于我是初学,可以帮我看下,怎么把那个ID给取出来吗?
    a:4:{i:4;s:16:"bbs1.discuz7.com";i:6;s:16:"bbs2.discuz7.com";i:2;s:17:"bbs3.discuz7.com";i:9;s:14:"bbs4.discuz7.com";} 
    就是这条字符串,好像是什么序列化和反序列化之类的
      

  4.   

    $forumdomains =  @unserialize('a:4:{i:4;s:16:"bbs1.discuz7.com";i:6;s:16:"bbs2.discuz7.com";i:2;s:17:"bbs3.discuz7.com";i:9;s:14:"bbs4.discuz7.com";}');
    echo  $forumdomains[2]; 输出的是bbs3.discuz7.com如果知道bbs3.discuz7.com怎么获取2