【发布时间】:2019-05-15 21:39:50
【问题描述】:
每次用户提交表单时,我都会尝试在数据库中创建一个新表。我获取他们提交的信息并用它来命名我创建的新表。 但是,当我查询数据库以创建一个新表时,我没有得到任何响应并且该表没有被创建。 我提交的 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;
?>
输出总是空白,没有创建表
【问题讨论】:
-
您的错误日志也可能包含有用的信息。
-
错误日志 [15-May-2019 21:35:05 UTC] PHP 警告:mysqli_query() 期望参数 1 为 mysqli,bool 在 /Applications/MAMP/htdocs/createtable.php 中给出第 22 行
-
但是不是每个请求都会抛出错误,我现在正在运行它没有错误但没有创建表