【问题标题】:Create SQL table from Post Request on a Form从表单上的发布请求创建 SQL 表
【发布时间】: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 行
  • 但是不是每个请求都会抛出错误,我现在正在运行它没有错误但没有创建表

标签: php mysql sql forms


【解决方案1】:

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

【讨论】:

    【解决方案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;
    
    
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-27
      • 2015-01-04
      • 2021-05-14
      • 1970-01-01
      • 2019-11-19
      • 1970-01-01
      相关资源
      最近更新 更多