记录集中的第一条记录为空。为什么?

时间:2011-11-19 16:28:34

标签: php mysql

为什么第一条记录为空?它不是空的,第一个记录成为第二个记录,第一个记录是空的,它似乎无处不在

这是代码

mysql_select_db($database_webiceberg, $webiceberg);
$query_services = "SELECT
services.dynamic_price,
services.database_price
from services
where lang=2 " ;

$services = mysql_query($query_services, $webiceberg) or die(mysql_error());

这部分代码在正文中

  <?php do { 
      $title = $row_services['dynamic_price'];
      $database_price = $row_services['database_price'];
      $id = $row_services['id_services'];

  ?>
  <tr id="<?php echo $id;?>">
   <td class="matrixItem" >
     <a href="WebDesign.php?cattegory=<?php echo $cattegory; ?>" id="nigga"><?php echo $title; ?></a>
   </td>
  </tr>
   <?php } while ($row_services = mysql_fetch_assoc($services));
   ?>

我删除了部分代码,以便为其提供更多语法,并且删除的代码是多余的

4 个答案:

答案 0 :(得分:4)

do{}阻止将在while()之前运行,因此$row_services首先为空。

$row_services = mysql_fetch_assoc($services)

之前使用简单或写do
 <?php 
    while ($row_services = mysql_fetch_assoc($services)): 

        $title = $row_services['dynamic_price'];
        $database_price = $row_services['database_price'];
        $id = $row_services['id_services'];
    ?>
    <tr id="<?php echo $id;?>">
        <td class="matrixItem" >
            <a href="WebDesign.php?cattegory=<?php echo $cattegory; ?>" id="nigga"><?php echo $title; ?></a>
        </td>
    </tr>
    <?php endwhile;  ?>

答案 1 :(得分:2)

你可以尝试一下吗?

<?php 
while ($row_services = mysql_fetch_assoc($services)) { 
    $title = $row_services['dynamic_price'];
    $database_price = $row_services['database_price'];
    $id = $row_services['id_services'];
    ?>
    <tr id="<?php echo $id;?>">
    <td class="matrixItem" ><a href="WebDesign.php?cattegory=<?php echo $cattegory; ?>" id="nigga"><?php echo $title; ?></a></td>


    </tr>
<?php
}
?>

答案 2 :(得分:1)

您应该使用while语法而不是do...while。在do...while中,在第一次迭代时未获取结果,并且您有一个空白记录。

如果您使用while,则会在第一次迭代时获得数据。

答案 3 :(得分:0)

它什么都不是,因为你在while ($row_services = mysql_fetch_assoc($services))取了它 并且它在第一次执行后起作用,因此在那时,记录为空或仅为空。使用入口控制循环:)