这个很简单啊,你那里用了两次(在循环前已经执行了一次),就是这部分代码:
这里判断时已经执行了一次read,这个就是第一条记录,但是被你当成判断是否有记录来用了,再在后面执行了一次read,代码:[/Quote]
这个很简单啊,你那里用了两次(在循环前已经执行了一次),就是这部分代码:
所以就显示第二条了

解决方案 »

  1.   

    你可以把代码改成这个,就不会错了:<?php
    $strwhere="name like '%".$name."%'";
    $rs = $cmd->ExecuteReader("SELECT * FROM datas WHERE $strwhere order by id desc LIMIT 0,100");if ($rs->Read()==false) {
    $strwhere = "name like '".substr($name,0,2)."%'";
    $rs = $cmd->ExecuteReader("SELECT * FROM datas WHERE $strwhere order by id desc LIMIT 0,100");
    echo " <td>没查询到".$name."的任何资料. <br/>为您查询到与".$name."类似的资料. </td>";
    }
    else
    {
    echo " <td>".$rs->GetData("description")." </td>";//这里输出了第一条记录
    }
    while ($rs->Read()) {
    echo " <td>".$rs->GetData("description")." </td>";//这里开始输出第二条记录至尾
    }
    ?>