Php 什么导致查询排除第一条记录

Php 什么导致查询排除第一条记录,php,html,mysql,Php,Html,Mysql,PHP和MySQL:是什么导致查询排除表中的第一条记录: 例如,我有这样一个脚本: $query = "SELECT * FROM cars WHERE car_name = 'BMW'"; $results = mysql_query($query); echo "<table border='1'>"; echo "<tr>"; echo "<th>Vehicle Name:<th>"; echo "</tr>"; while($r

PHP和MySQL:是什么导致查询排除表中的第一条记录: 例如,我有这样一个脚本:

$query = "SELECT * FROM cars WHERE car_name = 'BMW'";
$results = mysql_query($query);
echo "<table border='1'>";
echo "<tr>";
echo "<th>Vehicle Name:<th>";
echo "</tr>";
while($row = mysql_fetch_array($result)){
      $name = $row['car_name'];
      echo "<tr>";
      echo "<td>$name<td>";
      echo "</tr>";
}
echo "</table>";
除第一行外,所有行都返回。请帮助兄弟姐妹。

编辑

您使用的是mysql_fetch_数组,文档中就是这么说的。我从不使用mysql*函数,所以我不会很快得出这种结论。使用mysql_fetch_assoc$results,我99%相信它会解决您的问题。上述段落与文件中的内容不同。我假设您的第一行至少与下面的一行相同。这意味着你很可能错过的不仅仅是第一个。可能是,也可能不是

结束编辑

在代码中添加4项内容

echo "<tr>";
echo "<th>ID</th>"; // THIS
echo "<th>Vehicle Name:</th>"; // Add closing tags........
echo "</tr>";
echo mysql_num_rows($results); // THIS (compare this to your MYSQL output row count)
while($row = mysql_fetch_array($results)){ **THIS... you have $results set with query, but $result here*** make sure both are $results OR $result
      $id = $row['YOUR_AI_ID']; // THIS
      $name = $row['car_name'];
      echo "<tr>";
      echo "<td>$id</td>"; // THIS
      echo "<td>$name</td>"; // Add closing tags.......
      echo "</tr>";
}

现在就去吧。带着结果回来。

不是答案,但评论太长: 让我们坐在你的台车上。 什么是

$qs = array(
    array('total #rows', 'SELECT Count(*) FROM cars'),
    array('#BMW', "SELECT Count(*) FROM cars WHERE car_name='BMW'"),
    array('#LIKE BMW', "SELECT Count(*) FROM cars WHERE car_name LIKE '%BMW%'"),
    array('#car_names', "SELECT Count(*) FROM (SELECT distinct car_name as foo FROM cars) as bar")
);

foreach( $qs as $query ) {
    echo $query[0], "<br />\r\n";
    $result = mysql_query($query[1]) or die(mysql_error());
    while ( false!==($row=mysql_fetch_row($result)) ) {
        echo '  ', $row[0], "\r\n";
    }
}
如果放置在脚本中而不是发布的代码中,是否打印? 输出应该类似于

total #rows<br />
  6
#BMW<br />
  2
#LIKE BMW<br />
  3
#car_names<br />
  4
顺便说一句:mysql_*扩展已被弃用,

也许第一排的车不是宝马?可能是bmw或bmw?可能您的第一个条目在start中有空间…当您在MySQL控制台中运行查询时,您得到了什么?所有行?。。。。伙计。。。您意识到您正在选择car\u name=BMW的位置,并且只在PHP中显示car\u name。。。这意味着你将有一个宝马的完整列表,你怎么知道它是第一个…你没有结束标签,只是另一个开始标签。是否有可能您正在获取第一行,但浏览器正在隐藏它尝试执行视图源。好的,现在我们找到了一个位置,在回显num_rows之后,它返回我想要的行数…但仍然排除第一行。那么现在可能出了什么问题?一系列的事情都可以做到这一点。但我们更担心的是,哪个身份证丢失了,为什么会丢失。因此,使用这种布局类型并将YOUR_AI_ID更改为mysql中用于行的自动递增ID的ID。。。如果您没有使用AI编号,请在每一行中使用不同的编号。这样做了,仍然没有结果确定。。。您是否关闭了您的和标签。。。如果你还没有关闭它们,我就在上面thaks:我现在正在尝试很多事情,所以mysqli_*是你记录的解决方案?最终解决了问题,我只是改成了do-while循环,它成功了,我真的不知道一段时间的问题是什么,但非常感谢你的朋友。
total #rows<br />
  6
#BMW<br />
  2
#LIKE BMW<br />
  3
#car_names<br />
  4