PDO - FetchAll,LEFT JOIN。,删除索引值?

时间:2011-12-24 14:18:28

标签: php mysql

在我的网络应用程序中,我从表中获取一些数据。

我有

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]='' 只删除所有数字字段。但也许有指令什么会阻止这个... 只是添加一些内容,它将忘记返回该数据......

1 个答案:

答案 0 :(得分:6)

所有PDO获取方法都接受一个参数,该参数指定所需的获取样式。见the documentation for PDOStatement::fetch()。您还可以使用PDO::SetAttribute为整个数据库连接设置默认提取样式。

在这种情况下,您可以使用$b->fetchAll(PDO::FETCH_ASSOC)