报的什么错,你不贴出来,怎么帮你?查了3个表就是为了弄个 $row['nickname']! 汗.....还有你那个SELECT cdb_threads.*,cdb_members.*,cdb_memberfields.*FROM 改成 
SELECT * FROM
然后你的表名称带个别名,比如cdb_threads,cdb_members,cdb_memberfields 改成
cdb_threads thread,cdb_members member,cdb_memberfields memberfield !
你写的挺吓人的,几行代码写那么长!

解决方案 »

  1.   

    if($string!=""){                  // mysql_query那些都可以放这里,$string为''就不用查表了 $nick = str_replace($string,$row['nickname']); // 这个函数需要3个参数,你只有2个,另外 似乎 $nick=$row['nickname']就可以了,你str_replace干什么? }else{
    $nick = $string; //这里$string='', 你直接$nick='' 不就完了?
    }
      

  2.   

    Parse error: syntax error, unexpected T_VARIABLE in /var/www/html/bbs/include/nickname.func.php on line 25------------------------------------------------------------------
    我市这么做的按照helloyou0的方法改了还是抱错
    <?php function usernickname($string){
    $result = mysql_query("SELECT cdb_threads.*,cdb_members.*,cdb_memberfields.*FROM cdb_threads,cdb_members,cdb_memberfields WHERE cdb_threads.lastposter = cdb_members.username AND cdb_members.uid = cdb_memberfields.uid and cdb_threads.lastposter='$string'");
    $row = mysql_fetch_array($result);
    if($row['nickname']!=""){
    $nick = $row['nickname'];
    return $nick;
    }else{
    $nick = $string;
    return $nick;
    }
    return $nick;
    }?>
    <?
    $a = 'tony1120'
    usernickname('$a');
    ?>