1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

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

本帖由 5022006-03-17 发布。版面名称:后端开发

  1. 502

    502 New Member

    注册:
    2005-12-16
    帖子:
    31
    赞:
    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

    注册:
    2005-09-05
    帖子:
    1,984
    赞:
    12
    while(i<$num_dbs)

    还是

    while($i<$num_dbs)

    ???
     
  3. 502

    502 New Member

    注册:
    2005-12-16
    帖子:
    31
    赞:
    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, 2006-03-17
    最后编辑: 2006-03-17
  4. 小叶

    小叶 New Member

    注册:
    2005-09-04
    帖子:
    17,941
    赞:
    33
    mysql_numrows
    这个函数自己查手册。
     
  5. wm_chief

    wm_chief New Member

    注册:
    2005-09-05
    帖子:
    17,890
    赞:
    46
    mysql_num_rows

    $i<$num_dbs
     
  6. 502

    502 New Member

    注册:
    2005-12-16
    帖子:
    31
    赞:
    0
    哦买嘎
    是自己太粗心了!
     
  7. streen003

    streen003 New Member

    注册:
    2006-03-20
    帖子:
    6
    赞:
    0
    mysql_numrows
    一般这个函数用的N少.
    如果要取记录数量这个用法并不好~它会吃掉大量的内存

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

    当然有时也用的到它
     
    #7 streen003, 2006-03-20
    最后编辑: 2006-03-20
  8. streen003

    streen003 New Member

    注册:
    2006-03-20
    帖子:
    6
    赞:
    0
    msql_numrows -- Alias of msql_num_rows()
     
  9. streen003

    streen003 New Member

    注册:
    2006-03-20
    帖子:
    6
    赞:
    0
    说实在的我也没有看出多大的毛病来.