我的Mysql数据库里面的表survey_t,数据如下:----+------+------+----
id    name   age
1      aa     20
2      bb     22
3      cc     23
----+------+------+----我现在想写一个页面,将从数据库里面查询的记录显示到页面里面,代码如下:
$open=mysql_connect('localhost','root','') or die ("失败".mysql_error());
mysql_select_db("survey_data",$open);$sql3="select * from `survey_t`";
$query=mysql_query($sql3,$open);
$arr=mysql_fetch_row($query);
问题:
当我执行 print_r($arr);的时候,只能打印第一个记录。即:
Array ( [0] => 1 [1] => aa [2] => 20)这是为什么呢?我明明执行的是select * from `survey_t`; ,为什么查询出来只有一行?
查询出来不应该是3行的吗?即$arr应该是一个二维数组才对啊。
那如果我要将查询全部的记录保存在一个二维数组里面,该如何实现呢?求高手解答下,百般感谢!!!在线等答案中……………………!!!!!!

解决方案 »

  1.   

    $sql3="select * from `survey_t`";
    $query=mysql_query($sql3,$open);
    $arr=array();
    while($one = mysql_fetch_row($query)){
    $arr[] = $one;
    }
    print_r($arr);
      

  2.   

    用while去取,不然默认就是一行 while($rows = mysql_fetch_array($query)){
       echo "ID is:".$rows['id']." name:".$rows['name']." age:".$rows['age']."<br />";
    }
    试试看
      

  3.   

    $query =mysql_query( "select * from `survey_t`");
    echo "<table border= '1'><tr><th>id</th><th>name</th><th>age</th></tr>";//构造一个表头
    while($arr = mysql_fetch_array($query)){
       echo "<tr>";
       echo "<td>".$arr['id']."</td>";
       echo "<td>".$arr['name']."</td>";
       echo "<td>".$arr['age']."</td>";
       echo "</tr>";
    }
    echo "</table>";
    mysql_close($open);我也是新手,刚好这道题书上有,你试试看对不。