繁体   English   中英

创建一个带有会话名称的php表

[英]create a php table with the name of a session

我在任何地方都找不到答案。 但非常简单,我有一个创建表和一个已保存的会话。 我需要该会话作为表名。 如下所示。 我为此苦苦挣扎,并试图在任何地方找到答案。

下面是创建msql表。 会话是$ id,下面是到目前为止我尝试过的。

$sql = "CREATE TABLE " . $id . " (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";

这是上下文中的页面(已更新)

 <?php //header("Location:all_games/myscorenum.php"); $servername = "localhost"; $username = "root"; $password = "root"; $dbname = "score"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } session_start(); $id=$_SESSION['id']; echo"$id"; $sql = "CREATE TABLE '" . $id . "' ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP ) "; if ($conn->query($sql) === TRUE) { echo "Table MyGuests created successfully"; } else { echo "Error creating table: " . $conn->error; } $conn->close(); ?> 

您可以使用会话IDsession_id() ):

$id = session_id();
if (!empty($id) {
    $sql = "CREATE TABLE " . $id . " (
            id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
            firstname VARCHAR(30) NOT NULL,
            lastname VARCHAR(30) NOT NULL,
            email VARCHAR(50),
            reg_date TIMESTAMP
    )";
}

实际上, 为什么需要它作为表的名称?

尝试使用此查询

  $sql = "CREATE TABLE '. $id .' (
   id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL,
    email VARCHAR(50),
     reg_date TIMESTAMP
   ) ";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM