2013-08-28 53 views
0

我得到两次“$ field_value” - 但为什么? 正常的结构是:<id><name><address><email>但现在我得到<id><id><name><name><address><address><email><email>打印数组值两次/ php和pdo

这里是代码:

<tbody> 

     <?php 
     $STH = $DBH->prepare("SELECT * FROM kunden"); 
     $STH->execute(); 
     $result = $STH->fetchall(); 

     foreach($result as $key => $inner_arr) { 
      echo '<tr>'; 
      foreach($inner_arr as $field_name => $field_value) { 
       echo "<td>{$field_value}</td>"; 
      } 
      echo '</tr>'; 
     } 

     ?> 

</tbody> 
+0

你'对于结果的每个值和InnerArray =>打印smth'的每个值所以对他们的每一个都,你有两次迭代 –

回答

6

您需要设置fetchMode

默认为PDO::FETCH_BOTH,所以双方列索引的数组姓名和号码将被退回。

$result = $STH->fetchall(PDO::FETCH_ASSOC); 
+0

由于这是正确的答案! – Mike

+1

[或者在连接上设置默认获取模式。](http://stackoverflow.com/questions/3893858/is-is-possible-to-set-a-default-pdo-fetch-mode) –

+0

这是正确的答案,打勾选择它 –