每次用户提交表单时,我都试图在数据库中创建一个新表。我获取他们提交的信息并用它来命名我创建的新表。但是,当我查询数据库以创建新表时,我没有得到任何响应并且该表没有创建。我提交的 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";
慕姐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;
?>
- 2 回答
- 0 关注
- 122 浏览
添加回答
举报
0/150
提交
取消