私はこの問題を解決するために一晩中働いてきましたが、理解できないようです. 私はphpとPDOが初めてです。フィールドid
、firstname
およびを含むデータベースの作成に成功しましたlastname
。
id =1
username と lastname の値はおよび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番号がループごとに増加することです。then$idupdate
の部分でループ外とループ内に値1の変数を宣言してみましたが、うまくいきません。私が達成したいのは、ID 1 の列全体のすべてのデータを取得し、それを他のページでアクセス可能な配列変数に格納することです。どうすればこれを達成できますか?どんな助けでも大歓迎です。WHERE id=$idupdate
&idupdate++