2017-09-18 35 views
0

我创建一个小型Web应用程序,我在两个阵列中运行指标 - 一个通过使用simplexml_load_file检索和查询数据库中生成的其他。我对后者有点问题 - 我需要创建一个可以通过索引来引用的关联数组。为此,我做了这样的事情。FETCH_ASSOC错误的删除了阵列

$stmt->execute(); 
$db = $stmt->fetchAll(PDO::FETCH_ASSOC); 

因此,阵列应该是这样的:

Array (
['element'] => value, 
) 

它看起来像这样:

Array (
[0] => Array (
['element'] => value, 
) 
) 

我发现的唯一的事情是,在查询的记录被创建,以便

Array (
[0] => Array (
['element'] => value, 
[0] => value 
) 
) 

我的小号解决方案删除第一个数组内的索引,在本例中它将删除行[0] => value,尽管主索引将保留。我怎样才能改变这个结果产生一个完整的联想关联数组?我提到我想要显示查询中的所有记录,但是同样的fetch()可行,尽管它显示查询中的一条记录(最后一条)。

回答

1

尝试改变

$db = $stmt->fetchAll(PDO::FETCH_ASSOC); 

$db = $stmt->fetch(PDO::FETCH_ASSOC); 

PDOStatement::fetch - 用于读取结果的下一行,

虽然PDOStatement::fetchAll - 返回包含所有的数组结果集行

+0

fetch()方法从数据库返回只有一个记录 - 我需要的所有记录 – sauero

+0

@sauero:提供例如2-3行? – C2486

0

的0表示行之一。如果你要处理只有一排使用当前功能的阵列上,这将给你预期的结果