每次用户提交表单时,我都尝试在数据库中创建一个新表。我获取他们提交的信息并使用它来命名我创建的新表。 但是,当我查询数据库以创建新表时,我没有得到任何响应,并且该表未创建。 我提交的SQL命令直接来自于我在PHPMyAdmin上手动创建一个表。
我已经检查过发布请求是否未通过,但确实如此,问题必须是它无法连接到数据库,但我能够使用相同的凭据连接到系统中的其他数据库没问题。
<?php
session_start();
require_once('config.php');
$con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
$name = $_POST['user'];
$league = $_POST['league'];
$delim = '_';
$tablename = $name . $delim . $league;
$s = "CREATE TABLE IF NOT EXISTS '$tablename'
( `id` int(10) NOT NULL ,
`title` VARCHAR(120) NOT NULL ,
`description` TEXT NOT NULL ,
`position_order` INT(11) NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE = InnoDB DEFAULT CHARSET=utf8 ";
$result = mysqli_query($con, $s);
echo $result;
?>
输出始终为空,未创建表
最佳答案
已解决问题,但我不确定问题是什么。 我现在正在连接但未选择数据库,然后我将 SQL 命令更新为
"CREATE TABLE `test`.`$tablename` ( `id` INT(10) NOT NULL , `title` VARCHAR(120) NOT NULL , `description` TEXT NOT NULL , `position_order` INT(11) NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB";
关于php - 从表单上的 Post 请求创建 SQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56157998/