我按照手册上敲代码,显示Undefined index。数据库的表有3个字段:message_id  ip   info
代码如下:
<?php
$conn = mysql_connect('localhost','root','888888');
mysql_select_db('myweb',$conn);
$sql = "select * from data";
$res = mysql_query($sql);
$row = mysql_fetch_array($res);
while($row){
for($i=0;$i<3;$i++){
echo $row[i]."  ";
}
echo "</br>";
}

解决方案 »

  1.   


    /*
    $row = mysql_fetch_array($res);
    while($row){
    */
    while($row = mysql_fetch_array($res)){//这么改
      

  2.   

    $res = mysql_query($sql);
    while($row = mysql_fetch_array($res)){
    for($i=0;$i<3;$i++){
    echo $row[$i]." ";
    }
    echo "</br>";
    }
      

  3.   

    第一个错误 while($row = mysql_fetch_array($res)){
    第二个错误 echo $row[$i]." ";参考对比一下自己的
      

  4.   

    我想问下为什么第一个错误不能写成$row = mysql_fetch_array($res);
                                          while($row)
      

  5.   

    理解一下while.while 语句的含意很简单,它告诉 PHP 只要 while 表达式的值为 TRUE就重复执行嵌套中的循环语句。表达式的值在每次开始循环时检查,所以即使这个值在循环语句中改变了,语句也不会停止执行,直到本次循环结束。有时候如果 while 表达式的值一开始就是 FALSE,则循环语句一次都不会执行。 
      

  6.   

    mysql_fetch_array -- 从结果集中取得一行作为关联数组,或数字数组,或二者兼有。
    所以要写成 while($row = mysql_fetch_array($res))
      

  7.   

    $row = mysql_fetch_array($res);
    while($row){
    for($i=0;$i<3;$i++){
    echo $row[i]." ";
    }
    echo "</br>";
    }
    上面是错误的,应该是下面这样的:
    while($row = mysql_fetch_array($res)){
       echo $row[1]." ";  // $row['a'] a是键值,
    }
    因为:
        mysql_fetch_array($res)是拿出一个数据,指针就往下移动一行