php - 我的创建表代码找不到问题

标签 php mysql mamp

因此,我正在尝试使用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/

相关文章:

mysql - 如何在创建列上设置条件

php - mysql_query 不返回密码

php - 根据选择的图像添加文本 Moodle

php - MySQL - 列表结果首先按相同的值排序?

php worker 或队列处理器

mysql - MAMP 中包含的 MySQL 是否不包含配置文件?

java - 无法查看我使用 MAMP 创建的数据库

php - 如何下载上传的文件?

php - 搜索引擎,当用户想要 'all'时该怎么办

javascript - CSS 和 JS 文件未加载,MAMP 服务器