本帖最后由 sdffffaa 于 2011-06-13 18:12:24 编辑

解决方案 »

  1.   

    $sql="SELECT * FROM person WHERE id = '1'";
    你的数据表中 id 为 1 的只有一条
      

  2.   

    那是不是$row =只等于1或者0是吧?
      

  3.   

    还是这个while循环是不是完全没有存在的必要呢?
      

  4.   

    $row = mysql_fetch_array($result); 
    if ($row=false||$row=true){
     echo "<div>" . $row['FirstName'] . "</div>";
     echo "<div>" . $row['LastName'] . "</div>";}
    都不输出
      

  5.   

    $row 是数字 不是 boolean.if ($row>0)
    {
    ...
    }
      

  6.   

    看错了.你应该是 判断 行数是否超过0行吧?应该用 mysql_num_rows 结果来返回判断
      

  7.   

    $row = mysql_fetch_array($result);  
    if ($row=5||$row=1||$row=2||$row=3||$row=4||$row=6||$row=7){
     echo "<div>" . $row['FirstName'] . "</div>";
     echo "<div>" . $row['LastName'] . "</div>";}
    不输出。
    那while循环几次由什么来决定?如果是0和1那我能理解了,是其他的真的不知道为什么只循环1次
      

  8.   

    数组长度应该用sizeof (array) 来获取
    判断是否相等 应该用== 而不是=循环几次? for ($i=0;$i<sizeof($array);$i++)
      

  9.   

    if ($row==5||$row==1||$row==2||$row==3||$row==4||$row==6||$row==7)
    也是什么也不输出呢。
      

  10.   

    我只是想while循环是怎么成立的,mysql_fetch_array($result)得到的到底是个神马东西,只执行一次的原因有是神马决定的。
      

  11.   

    如果id主建不存在呢?while循环你怎么个运行方式呢?循环几次由什么来决定?mysql_num_rows 结果得到神马东西呢?
      

  12.   

    while的意思是 循环读取. 循环几次由你有多少记录决定.mysql_num_rows
    返回多少条结果
    用while 一般都无需用mysql_num_rows 只让他自己循环取就是咯
    如果你要控制取几条之类的 可以用 for 循环 或者 foreach 等
      

  13.   

    mysql_num_rows 结果得到神马东西呢?
      

  14.   

    mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效。要取得被 INSERT,UPDATE 或者 DELETE 查询所影响到的行的数目,用 mysql_affected_rows()。
      

  15.   


    把你的sql语句的id='1'去掉试试
      

  16.   

    $sql="SELECT * FROM person WHERE id = '1'";
    ————————————
    你只查询一条,肯定只出来一条了吗$sql="SELECT * FROM person这样试试
      

  17.   

    你只查询一个ID为1的当然只循环一条啊,把SQL语句改了试试
      

  18.   

    LZ。把sql的条件where id = '1' 去掉
      

  19.   

    <?php
    $con = mysql_connect('localhost', 'peter', 'abc123');
    mysql_select_db("my_db", $con); 
    $sql="SELECT * FROM person";
    $result = mysql_query($sql, $con); 
    while($row = mysql_fetch_array($result))   
     {
     echo "<div>" . $row['FirstName'] . "</div>";
     echo "<div>" . $row['LastName'] . "</div>";
     }
    mysql_close($con);
    ?>这样试试看!~~
      

  20.   

    var_dump($row);
    你就知道它是什么东西了!
      

  21.   

    while($row = )    //$row=0和空 false 什么也不输出,等于任何值都是无数次循环。所以我想知道里面的语句为什么只执行1次。
    {
     echo "<div>" . $row['FirstName'] . "</div>";
     echo "<div>" . $row['LastName'] . "</div>";
     }
      

  22.   

    要么去掉主键ID 或者替换成limit int,int;
      

  23.   


    mysql_query($sql, $con); //返回的是查询语句执行后得到的结果集(结果集为数组),语句执行失败返回的是false
    mysql_fetch_array($result); //从结果集中取数据,每执行一次取一条记录,同时将结果集(数组)的指针往后移动一位,当移动到最后的时候,函数返回false
      

  24.   

    将$sql="SELECT * FROM person WHERE id = '1'";
    改成$sql="SELECT * FROM person;
      

  25.   

    这样是无限循环,跟上面的似乎类似,但是上面的为什么只循环1次?
       1、因为$cc="array",所以$cc永远不会为“空”或“FALSE”,所以是无限循环。
       2、即便将:$sql="SELECT * FROM person WHERE id = '1'";
          改成了$sql="SELECT * FROM person;
          while($row = mysql_fetch_array($result)) 也不会是无限循环,该while循环的次数和你数据库里的行数有关/相等。
         这是因为mysql_fetch_array($result)执行时会取得$result中一行数据(该数据为一个数组),赋给$row,因为$row不为空或false所以执行循环体,
        当第二次循环时mysql_fetch_array($result)取得下一行数据(该数据为一个数组)赋给$row,……;
        当第三次循环时,此时再执行$mysql_fetch_array($result)时它返回的是False。(因为你的数据库里只有二条数据,所以此时数据集$result中也没有第三行数据可以取)。并将false赋给$row.
    因为$row的值为$false所以结束循环。
       ……
       
      

  26.   

    $sql="SELECT * FROM person WHERE id = '1'";
    只有一条记录。