2014-06-16 283 views
-4

我有这个问题。当我从SQL结果中获取数据时,它跳过第一行。不知道为什么,因为我不在代码中调用mysql_fetch_assoc()。mysql_fetch_assoc跳过第一行

$requete1 = "SELECT * FROM objet o JOIN type t ON o.type_obj = t.lib_type 
    WHERE salle ='$idSalle'"; 
    $resultat1 = mysql_query($requete1) or die("Pb requête ".mysql_error()); 
    if(mysql_num_rows($resultat1) > 0){ 
     while ($array0 = mysql_fetch_assoc($resultat1)) { 
      echo 'whatever'.$array0['id_obj']; 
     }; 
    }; 

编辑: 产生的回波:

whatever2 
whatever3 
whatever4 
... 

在表中的第一id_obj是1。我想要显示它。

真的没有多少我可以补充一点,一切都在那里!

这里显示的结果,你可以看到 “端口号” 开始于2虽然1存在的 http://i.stack.imgur.com/f04Tm.png

+0

我不明白这怎么可能。你必须提供更多的信息和证据,说明你期望什么事情发生,以及为什么。 – deceze

+1

这是工作代码?为什么你有'array0'而不是'$ array0'?你是否100%确定这个查询结果与使用echo显示的结果不同? –

+0

对不起Marcin我只是在复制代码时搞砸了 – myrkur

回答

0

使用正确的了Syntex加入: 请参考:click Here

答:

$requete1 = "SELECT * FROM objet o left outer JOIN type t ON o.type_obj = t.lib_type 
    WHERE salle ='$idSalle'"; 
    $resultat1 = mysql_query($requete1) or die("Pb requête ".mysql_error()); 
    if(mysql_num_rows($resultat1) > 0){ 
     while ($array0 = mysql_fetch_assoc($resultat1)) { 
      echo 'whatever'.array0['id_obj']; 
     }; 
    }; 
+0

它没有改变任何东西,对不起 – myrkur