db.php
<?
$host           = "localhost" ;
$user           = "root" ;
$password       = "root" ;
$database       = "chat" ; 
function dbconnect($host,$user,$password,$database){

mysql_connect($host,$user,$password)
or die ("登录数据库失败") ;
mysql_select_db($database)
or die ("连接数据库失败!");
}dbconnect($host,$user,$password,$database);//查询用户信息
function select_usinfo(){
$select_usinfo                  = "select * from usinfo ";
$result_select_usinfo           = mysql_query($select_usinfo)
or die("查询失败!" . mysql_error()) ;
return ($row_select_usinfo      = mysql_fetch_array($result_select_usinfo)) ;
}
?>act.php
<?PHP
select_usinfo();
echo $row_select_usinfo['usname'];
?>为什么输不出来?求解释!

解决方案 »

  1.   

    include 'db.php';
    select_usinfo();
    echo $row_select_usinfo['usname'];这样将输出 Array
      

  2.   

    act.php少写了一句
    include 'db.php';
      

  3.   

    我是这样写的,可是echo还是空
      

  4.   

    dbconnect($host,$user,$password,$database);放act.php中写 
    act.php需包含头文件include('db.php');
      

  5.   

    你 db.php 的写法需要开启短标记功能
      

  6.   

    include 'db.php';
    $row_select_usinfo = select_usinfo();
    echo $row_select_usinfo['usname'];
      

  7.   

    忽视了一个重要的地方
    $row_select_usinfo = select_usinfo();
    echo $row_select_usinfo['usname'];
      

  8.   

    function select_usinfo(){global $select_usinfo;$select_usinfo = "select * from usinfo ";
      

  9.   

    db.php 文件
    <? 修改成 <?php 先
      

  10.   


    function dbconnect($host,$user,$password,$database){
    mysql_connect($host,$user,$password)
    or die ("登录数据库失败") ;
    mysql_select_db($database)
    or die ("连接数据库失败!");
    }
    dbconnect($host,$user,$password,$database);
    //查询用户信息
    function select_usinfo(){
    $select_usinfo = "select * from user ";
    $result_select_usinfo = mysql_query($select_usinfo)
    or die("查询失败!" . mysql_error()) ;
    $row_select_usinfo = array();
    while($row_select_usinfo[] = mysql_fetch_array($result_select_usinfo));
    return  $row_select_usinfo;
    }
    $row_select_usinfo = select_usinfo();
    var_dump($row_select_usinfo);
    exit;
      

  11.   

    非常感谢!把标签改了,然后$row_select_usinfo = select_usinfo();
    就可以了还想问一句,我db.php里需要return()吗?
      

  12.   

    如果要获取一条,请看下面这个//查询用户信息
    function select_usinfo(){
        $select_usinfo = "select * from user limit 1";
        $result_select_usinfo = mysql_query($select_usinfo)
        or die("查询失败!" . mysql_error()) ;
        if($row_select_usinfo[] = mysql_fetch_array($result_select_usinfo))
            return  $row_select_usinfo;
        else
            return null
    }
    $row_select_usinfo = select_usinfo();
    var_dump($row_select_usinfo);
    exit;
      

  13.   


    //查询用户信息
    function select_usinfo(){
    global $row_select_usinfo;
    $select_usinfo = "select * from usinfo ";
    $result_select_usinfo = mysql_query($select_usinfo)
    or die("查询失败!" . mysql_error()) ;
    return ($row_select_usinfo = mysql_fetch_array($result_select_usinfo)) ; 
    }
      

  14.   


    为什么我echo $row_select_usinfo['usname'];只能输出一条记录?
      

  15.   

    是数组
     mysql_fetch_array 返回的就是数组
    不过你只返回了一条记录,当然也就只能显示一条记录了
      

  16.   

    你原来的代码
    //查询用户信息
    function select_usinfo(){
      $select_usinfo = "select * from usinfo ";
      $result_select_usinfo = mysql_query($select_usinfo)
      or die("查询失败!" . mysql_error()) ;
      return ($row_select_usinfo = mysql_fetch_array($result_select_usinfo)) ; 
    }应改为
    //查询用户信息
    function select_usinfo(){
      $select_usinfo = "select * from usinfo ";
      $result_select_usinfo = mysql_query($select_usinfo)
      or die("查询失败!" . mysql_error()) ;
      while($row = mysql_fetch_array($result_select_usinfo)) {
        $row_select_usinfo[] = $row;
      }
      return $row_select_usinfo;
    }
    //这样使用
    foreach(select_usinfo() as $row_select_usinfo) {
      echo $row_select_usinfo['usname'] . '<br />';
    }