2011-12-24 5 views
0

私のWebアプリケーションでは、テーブルからいくつかのデータを取得します。PDO - FetchAll、LEFT JOIN。、インデックス値を削除しますか?

私は仕事だけで結構です

SELECT * FROM yyy LEFT OUTER JOIN users_experts USING (xxx) WHERE yyy.xxx=:xxx 

を持っています。

私は私、あなたはキャン見ての通り、私はいくつかの重要なデータを持っているPDO

foreach ($b->fetchAll() as $row) 
     { 
    $row['xxx']=NULL; 
    $row['xxxx']=NULL; 
    $row['xxxx']=NULL; 

} 
return $row; 

そして問題です...

$row, cointain 
$row[1] 
$row[2] 
$row[3] 

$row['clumn_name'] 
$row['clumn_name_2'] 
$row['clumn_name_3'] 

を使用して、これをダウンロードしてください表示されないようにnullに設定します。

すべての「番号」レコードを削除する方法を探しています。 良い方法がありますか?

私はちょうどすべての

$row[1] 
$row[2] 
$row[3] 

を削除したいが、そう問題がある

$row['something'] 
$row['something2'] 
$row['something3'] 

を残しました。 Mysql、pdoは、 "名前"インデックスだけでなく "数値インデックス"も返します。 私の質問は...どうすれば削除できますか? 私は(x<table(items.count)))$row[$x]='' のために を書くことができ、すべての数字フィールドを消去することができます。多分これをフェッチするのを防ぐ指示があります... 何かを追加するだけで、そのデータを返すことを忘れるでしょう...

+0

StackExchangeが質問と回答を書くときに表示されるライブプレビューを見てください。 SEはbbcodeを使用しません。 [markdown](http://webmasters.stackexchange.com/editing-help)を使用します。だから将来的にあなたの質問を適切に書式化して、読みやすいものにしてください。 –

答えて

5

すべてのPDOフェッチメソッドは、目的のフェッチスタイルを指定する引数を受け入れます。 the documentation for PDOStatement::fetch()を参照してください。 PDO::SetAttributeを使用して、データベース接続全体のデフォルトのフェッチスタイルを設定することもできます。

この場合、$b->fetchAll(PDO::FETCH_ASSOC)を使用できます。