1. 论坛系统升级为Xenforo,欢迎大家测试!
    Dismiss Notice

这段PHP代码有什么不对吗?郁闷

Discussion in '后端开发' started by 502, Mar 17, 2006.

  1. 502

    502 New Member

    Joined:
    Dec 16, 2005
    Messages:
    31
    Likes Received:
    0
    PHP:
    $db_host "localhost"// 数据库服务器 'localhost' 
    $db_user "root";  //mysql用户名 
    $db_pass " "//mysql 密码 
    $db=@mysql_connect($db_host,$db_usname,$db_pass);
    $dbs=@mysql_list_dbs();//列出mysql数据库
    $num_dbs=@mysql_numrows($dbs);//获取数据库个数
    if(!$num_dbs)
    {
        echo 
    "没有数据库";
    }
    else
    {
        echo 
    "数据库列表如下:</br>";
        while(
    i<$num_dbs)
        {
        
    $db=@mysql_tablename($dbs,$i);
        echo 
    $db."</br>";
        
    $i++;
        }
    }
    测试时就出现一个数据库,而且接着浏览器就死掉了,CPU占用就100%了!
     
  2. 亚马逊的雨季

    亚马逊的雨季 New Member

    Joined:
    Sep 5, 2005
    Messages:
    1,984
    Likes Received:
    12
    while(i<$num_dbs)

    还是

    while($i<$num_dbs)

    ???
     
  3. 502

    502 New Member

    Joined:
    Dec 16, 2005
    Messages:
    31
    Likes Received:
    0
    :lol:
    犯了个低级错误!
    THX!
    PHP:
    $db_host "localhost"// 数据库服务器 'localhost' 
    $db_user "root";  //mysql用户名 
    $db_pass ""//mysql 密码 
    $db=@mysql_connect($db_host,$db_usname,$db_pass);
    $dbs=@mysql_list_dbs();//列出mysql数据库
    $num_dbs=@mysql_numrows($dbs);//获取数据库个数
    if(!$num_dbs)
    {
        echo 
    "没有数据库";
    }
    else
    {
        echo 
    "数据库列表如下:</br>";
        
    $i=0;
        while(
    $i<$num_dbs)
        {
        
    $db=@mysql_tablename($dbs,$i);
        echo 
    $db."</br>";
        
    $i++;
        }
    }
    不过循环还是出不来
     
    #3 502, Mar 17, 2006
    Last edited: Mar 17, 2006
  4. 小叶

    小叶 New Member

    Joined:
    Sep 4, 2005
    Messages:
    17,941
    Likes Received:
    33
    mysql_numrows
    这个函数自己查手册。
     
  5. wm_chief

    wm_chief New Member

    Joined:
    Sep 5, 2005
    Messages:
    17,890
    Likes Received:
    46
    mysql_num_rows

    $i<$num_dbs
     
  6. 502

    502 New Member

    Joined:
    Dec 16, 2005
    Messages:
    31
    Likes Received:
    0
    哦买嘎
    是自己太粗心了!
     
  7. streen003

    streen003 New Member

    Joined:
    Mar 20, 2006
    Messages:
    6
    Likes Received:
    0
    mysql_numrows
    一般这个函数用的N少.
    如果要取记录数量这个用法并不好~它会吃掉大量的内存

    所以通常的做法都是先COUNT(*) 然后用LIMIT读出部分数据,即使多用一个query,也比直接用num_rows()经济的多,尤其是数据量大的时候.

    当然有时也用的到它
     
    #7 streen003, Mar 20, 2006
    Last edited: Mar 20, 2006
  8. streen003

    streen003 New Member

    Joined:
    Mar 20, 2006
    Messages:
    6
    Likes Received:
    0
    msql_numrows -- Alias of msql_num_rows()
     
  9. streen003

    streen003 New Member

    Joined:
    Mar 20, 2006
    Messages:
    6
    Likes Received:
    0
    说实在的我也没有看出多大的毛病来.