【发布时间】:2015-03-27 22:11:32
【问题描述】:
我正在使用下面的代码从数据库中构建一个行数组。
$site = new stdClass();
$dbh = _vic_commander_db();
$sth = $dbh->prepare('SELECT name, title, url FROM site ORDER BY siteid');
$sth->bindColumn(1, $site->name);
$sth->bindColumn(2, $site->title);
$sth->bindColumn(4, $site->url);
$sth->execute();
$ret = array();
while ($sth->fetch(PDO::FETCH_BOUND))
{
$ret[] = $site;
}
数组 ($ret[]) 确实被添加到循环的每次迭代中;但是,除了追加表的每一行之外,所有元素都会被最后追加的结果替换。所以我有一个数组,其元素数量与表中的行数相同,但元素都是相同的。
任何想法都将不胜感激。
示例:
array(3) (
[0] => stdClass object {
name => (string) Same Site Name
title => (string) Same Site Title
url => (string) samepurl.com
}
[1] => stdClass object {
name => (string) Same Site Name
title => (string) Same Site Title
url => (string) samepurl.com
}
[2] => stdClass object {
name => (string) Same Site Name
title => (string) Same Site Title
url => (string) samepurl.com
}
)
【问题讨论】: