从表单上的 Post 请求创建 SQL 表

每次用户提交表单时,我都试图在数据库中创建一个新表。我获取他们提交的信息并用它来命名我创建的新表。但是,当我查询数据库以创建新表时,我没有得到任何响应并且该表没有创建。我提交的 SQL 命令直接来自我在 PHPMyAdmin 上手动制作表格时。


我已经检查过 post 请求是否没有通过,但问题是它无法连接到数据库,但我能够使用相同的凭据连接到系统中的其他数据库,没问题。


<?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;





?>

输出总是空白没有创建表


BIG阳
浏览 123回答 2
2回答

莫回无

修复了问题,但我不确定问题是什么。我现在正在连接但没有选择数据库,然后我将 SQL 命令更新为"CREATE&nbsp;TABLE&nbsp;`test`.`$tablename`&nbsp;(&nbsp;`id`&nbsp;INT(10)&nbsp;NOT&nbsp;NULL&nbsp;,&nbsp;`title`&nbsp;VARCHAR(120)&nbsp;NOT&nbsp;NULL&nbsp;,&nbsp;`description`&nbsp;TEXT&nbsp;NOT&nbsp;NULL&nbsp;,&nbsp;`position_order`&nbsp;INT(11)&nbsp;NOT&nbsp;NULL&nbsp;,&nbsp;PRIMARY&nbsp;KEY&nbsp;(`id`))&nbsp;ENGINE&nbsp;=&nbsp;InnoDB";

慕姐8265434

尝试如下。如果它不能正常工作,请确保您的数据库连接正常工作。<?phpsession_start();require_once('config.php');$con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);$name = $_POST['user'];$league = $_POST['league'];$delim = '_';$tablename =&nbsp; $name . $delim . $league;$s = "CREATE TABLE IF NOT EXISTS '$tablename'&nbsp;(id int(10) NOT NULL ,&nbsp; title VARCHAR(120) NOT NULL ,&nbsp; description TEXT NOT NULL ,&nbsp; position_order INT(11) NOT NULL ,&nbsp; PRIMARY KEY (id)) ENGINE = InnoDB DEFAULT CHARSET=utf8";$result = mysqli_query($con, $s);echo $result;?>
打开App,查看更多内容
随时随地看视频慕课网APP