因此,我正在尝试使用php以及一个学校项目的统一性,在我尝试使用的解决方案中,它需要我为每个新用户创建一个新表来存储有关它们的唯一统计信息。问题是,它不起作用。
<?php
$con = mysqli_connect('localhost', 'root', 'root', 'unityaccess');
//check the connection happened
if(mysqli_connect_errno())
{
echo "1: Connection failed"; //error code 1 = connection failed
exit();
}
$username = $_POST["name"];
$tablecheckquery = "SHOW TABLES IN 'unityaccess' WHERE 'Tables_in_unityaccess' = '".$username."';";
$result = mysqli_query($con, $tablecheckquery);
if($result !== false){
echo "6";
}
else{
$newtable = "CREATE TABLE IF NOT EXISTS '".$username."'(username VARCHAR(16) PRIMARY KEY)";
$res = mysqli_query($con, $newtable) or die ("7: Couldn't create table"); //error code 7 = table failed to be created
$insertuserquery = "INSERT INTO '".$username."' (username) VALUES ('" . $username . "');";
mysqli_query($con, $insertuserquery) or die("4: Insert player query failed"); //error code 4 = insert query failed
echo "4";
}
?>
因此,从这个角度来说,我期望的是,由于没有供用户使用的表,因此可以创建该表,而是吐出错误代码7,我也不知道为什么。
感谢所有帮助!
最佳答案
您不需要在表名周围使用CREATE引号。更改为:
$newtable = "CREATE TABLE IF NOT EXISTS ".$username." (username VARCHAR(16) PRIMARY KEY)";
无论如何,为每个用户创建一个全新的表确实是不必要的。实际上,这根本不是一种通用方法。我建议对每个人只使用一个用户表。
关于php - 我的创建表代码找不到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57633339/