0 レビュー
2 回答
mysql-データベースの結果をPHPの変数に保存する
後でPHPで使用するために、MySQLステートメントの結果を保存しようとしています。結果を得るこのコードがあります:
// Get the categories from the db.
$categories = array();
$catSql = "SELECT id, name FROM categories";
if ($catStmt = mysqli_prepare($db, $catSql))
{
$catStmt->execute();
$result = $catStmt->get_result();
// Fetch the result variables.
while ($row = $result->fetch_assoc())
{
// Store the results for later use.
}
}
つまり、結果が $row["id"]
と$row["name"]になることはわかっているので、すべての行を保存したいので、いつでも私はそれらを必要とします私はそれらをループし、例えばそれらをエコーすることができます。 PHPでそれらを保持するための構造体と配列を検索しましたが、それに関する情報が見つからないか、正しい方向に検索していない可能性があります。これを効率的に行う方法を見つけ、可能であれば小さな例を投稿するために、これについてどこを読むべきかを誰かに教えてもらえますか?
わからない
0
レビュー
答え :
解決策:
セッションを使用する:
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
// Get the categories from the db.
$categories = array();
$catSql = "SELECT id, name FROM categories";
if ($catStmt = mysqli_prepare($db, $catSql))
{
$catStmt->execute();
$result = $catStmt->get_result();
// Fetch the result variables.
while ($row = $result->fetch_assoc())
{
// Store the results for later use.
$_SESSION['category_' . $row['id']] = $row['name'];
}
}
後で別のページからアクセスします
$_SESSION['session_variable_name']
情報の配列を作成し、配列全体を単一のセッション変数に格納することもできます。
各ページの先頭にsession_start関数を追加してください。 ifステートメントを使用すると、複数回起動を試みることができなくなります。
わからない
0
レビュー
答え :
解決策: $categories = array();
$catSql = "SELECT id, name FROM categories";
if ($catStmt = mysqli_prepare($db, $catSql))
{
$catStmt->execute();
$result = $catStmt->get_result();
while ($row = $result->fetch_assoc())
{
$categories[$row['id']]=$row['name'];
}
}
そして、どこかで名前が必要な場合は、以下を使用してください:
$categories[$id]
$categories = array();
$catSql = "SELECT id, name FROM categories";
if ($catStmt = mysqli_prepare($db, $catSql))
{
$catStmt->execute();
$result = $catStmt->get_result();
while ($row = $result->fetch_assoc())
{
$categories[$row['id']]=$row['name'];
}
}
そして、どこかで名前が必要な場合は、以下を使用してください:
$categories[$id]
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。