【发布时间】:2019-02-19 10:46:00
【问题描述】:
我正在开发基于网络的大学系统应用程序。我想添加一个选项来选择会话,例如(2017-2018、2018-2019、2019-2020、2020-2021 等等)。在任何时候,管理员都应该能够选择一个会话(如 2017-2018 年)来加载任何以前的会话,并且应该从数据库中加载相应的数据库。默认情况下,当前会话应在启动时加载。我正在使用 mysql。
$conn = mysqli_connect('localhost', 'root', '', 'db2018');
加载会话 2018-2019 的数据库。上面的代码在一个使用 include 语句调用的 php 文件中。
index.php有登录信息,登录成功则加载main.php
main.php
session_start();
include 'dbh.inc.php';
//rest of the code
dbh.inc.php
$conn = mysqli_connect('localhost', 'root', '', 'db2018');
if (!$conn) {
die("connection failed". mysql_connect_error());
}
我希望默认数据库是当前会话(现在是 db2018,明年 2019 年 3 月开始的会话是 db2019),管理员决定要使用哪个会话,如果选择另一个会话,那么该会话的数据库应该加载到 dbh.inc .php
【问题讨论】:
-
我不确定我是否了解您的需求,但我认为您不需要会话来做到这一点。只需简单的日期检查即可。
-
所以将数据库参数设置为变量并在表单中设置。或者松开数据库参数并使用
mysqli_db_select()函数也可以根据一些用户输入来选择数据库 -
是的,正如@Dohab 所说,您可以根据年份调用 $conn,会话对您的上下文没有用处
-
伙计们,这只是对 SESSION 这个词的错误使用,可能应该使用财政年度
-
@RiggsFolly 是对的。糟糕的是,我使用了 session 这个词,你们把它理解为 $_SESSION 的东西。我所说的会议是指 2018-2019 年的学术会议......