gpt4 book ai didi

php - 如何创建以Mysql表列名命名的 session ?

转载 作者:行者123 更新时间:2023-11-29 17:48:06 25 4
gpt4 key购买 nike

我必须在每个页面上复制并粘贴这么长的 session 列表,例如 home.php、notices_list.php、histories.php、make_post.php、edit_post.php 等。我需要缩短这段代码,以便缩短每个文件的大小。

我在 MySQL 表列名称之后标记了 session 变量,因此,如果我为脚本编写一段代码来获取列名称,然后根据列名称创建 session ,那么代码会缩短很多每一页。因此我的网络服务器的 CPU 繁忙程度会降低。

我当前的代码如下所示:

<?php 

$id = $_SESSION["id"];
$email = $_SESSION["email"];
$username = $_SESSION["username"];
$first_name = $_SESSION["first_name"];
$surname = $_SESSION["surname"];
$gender = $_SESSION["gender"];
$dob = $_SESSION["date_of_birth"];
$religion = $_SESSION["religion"];
$education = $_SESSION["education"];
$profession = $_SESSION["profession"];
$state = $_SESSION["state"];
$country = $_SESSION["country"];
}

?>

这是我的尝试:

1.

<?php 

$sql = "SHOW COLUMNS FROM browsing_histories";
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($result)){
$$row['Field'] = $_SESSION["$row['Field']"]."<br>";
}

?>

另一次尝试:2.

<?php 
$sql = "SHOW COLUMNS FROM browsing_histories";
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($result)){
$$row['Field'] = $_SESSION["\$row['Field']\"]."<br>";
}
?>

请记住,因为列名称如下所示:id、用户名、性别。

然后,目前我得到了冗长的文件, session 写成这样:

<?php 
$id = $_SESSION["id"];
$username = $_SESSION["username"];
$gender = $_SESSION["gender"];
?>

我不想编写这样的 session 行来缩小文件大小,因此需要编写代码,以便脚本获取列名称并在这些获取的列名称(或获取的标签或获取的字段)下创建 session 变量)。简而言之,在上面提到的冗长代码中,您会看到一个名为“id”的变量,并且会看到一个 session 名称“id”。我不想在这里输入所有这些“id”,因为它是一个列名称,我希望脚本自动写入列名称。最好,从列名创建数组值,那么如何做到这一点呢?

同样,我不想输入所有这些“id”,因此希望脚本通过获取列字段名称来编写它们,因为这里的列字段名称是“id”。你知道我想做什么。那么,想展示一下如何做到这一点的代码示例吗?
我需要一个使用 mysqli 的程序风格的示例。还没有进入 pdo 或 oop。

编辑:第一次尝试失败:

$sql = "SHOW COLUMNS FROM users";
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($result)){
${$row['Field']} = $_SESSION["{$row['Field']}"]."<br>";
}

第二次尝试失败:

$sql = "SHOW COLUMNS FROM users";
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($result)){
$row = $_SESSION["{$row['Field']}"]."<br>";
}

最佳答案

您的 $$row 变量前面有一个额外的 $$

关于php - 如何创建以Mysql表列名命名的 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49635012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com