为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
BIG阳 2021-06-17 18:41:20
每次用户提交表单时,我都试图在数据库中创建一个新表。我获取他们提交的信息并用它来命名我创建的新表。但是,当我查询数据库以创建新表时,我没有得到任何响应并且该表没有创建。我提交的 SQL 命令直接来自我在 PHPMyAdmin 上手动制作表格时。我已经检查过 post 请求是否没有通过,但问题是它无法连接到数据库,但我能够使用相同的凭据连接到系统中的其他数据库,没问题。<?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 =  $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;?>输出总是空白没有创建表
查看完整描述

2 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

修复了问题,但我不确定问题是什么。我现在正在连接但没有选择数据库,然后我将 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";



查看完整回答
反对 回复 2021-06-19
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

尝试如下。如果它不能正常工作,请确保您的数据库连接正常工作。


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



?>


查看完整回答
反对 回复 2021-06-19
  • 2 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信