使用MySql查询和PHP的结果不同

时间:2011-11-14 15:09:14

标签: php mysql

$sql=Select A.a,B.b,b,C.c

from A,B,C 
group by 
A.a, B.b,C.c
order by A.oder_nr,A.a

$row_Sql= mysql_query($sql,$db) or die (mysql_error());
$record_set=  mysql_fetch_assoc($row_Sql);
$totalRows_$row_sql=mysql_num_rows($row_Sql);
$A=''
$B=''
while ( $record_set = mysql_fetch_assoc($row_Sql) ) 
{
   if ( $A != $record_set[ 'A' ] ) 
   {

       $A = $record_set[ 'A' ];

       echo "<h2>$A</h2>";

   }
   if ( $B!= $record_set[ 'b' ] ) 
   {

       $B = $record_set[ 'b' ];

       echo "<h3>$B</h3>";


   }
   echo "<li><a href=\"Detail.php?A_id=".$record_set['A_id']. "\">";
   echo $record_set['c'];
  echo $record_set['d']; ?></br></a></li>

   <?php } ?>

单独使用Sql查询返回完整的结果,但使用它与php代码总是删除第一个结果。查询返回例如1,2,3,4但是php从2,3,4开始。有什么想法吗?

1 个答案:

答案 0 :(得分:8)

您在循环之上呼叫$record_set= mysql_fetch_assoc($row_Sql);一次。这将有效地修剪结果集的第一行。

您似乎也在使用变量变量,不确定这是有意还是错字:

while ( $record_set = mysql_fetch_assoc($$row_Sql) ) 
//                                      ^---------- variable variables!