【发布时间】:2012-10-26 05:41:44
【问题描述】:
我整晚都在努力解决这个问题,但我似乎无法弄清楚。我是 php 和 PDO 的新手。我成功地创建了一个包含id、firstname 和lastname 字段的数据库。
在id =1 上,用户名和姓氏的值为Andrea 和Bocelli,
在id=2 上是Sarah 和Brightman。
现在我想获取 id1 上的所有名字和姓氏并将其存储在 $_SESSION 数组变量中,并将 id2 的名字和姓氏值存储在另一个 $_SESSION 数组变量中,以便我能够在其他页面。这是我的代码:(已经编辑和工作)
$host = "localhost";
$dbname = "try";
$user = "root";
$pass = "";
$dbh = new PDO("mysql:host=$host;dbname=$dbname",$user,$pass);
$statement = $dbh->prepare('SELECT * FROM members');
$statement->execute();
$count = $statement->rowCount();
$_SESSION['firstname']=array();
$_SESSION['lastname']=array();
for ($c=0, $c2=1;$c<$count;$c++, $c2++){
$sql='SELECT firstname FROM members WHERE id=?';
$sth=$dbh->prepare($sql);
$sth->execute(array($c2));
$_SESSION['firstname'][$c]=$sth->fetchColumn();
$sql='SELECT lastname FROM members WHERE id=?';
$sth=$dbh->prepare($sql);
$sth->execute(array($c2));
$_SESSION['lastname'][$c]=$sth->fetchColumn();
}
现在的问题是这段代码只获取 id1 上的数据,显然我只在循环内访问了 id 1。我想要做的是每个循环都会增加 id 号。我尝试在循环外部和循环内部声明一个变量$idupdate,然后在WHERE id=$idupdate 和&idupdate++ 部分的循环内部,但它似乎不起作用。我想要实现的是获取 id 1 中整个列中的所有数据,并将其存储在另一个页面上可访问的数组变量中。我怎样才能做到这一点?任何帮助将不胜感激。
【问题讨论】: