【问题标题】:Create database Table by user input value in php通过用户输入值在php中创建数据库表
【发布时间】:2020-01-15 07:18:05
【问题描述】:

表单发送要创建的表的名称

<script>
$(document).ready(function () {
    $('#cdbt').click(function (e) {  
 e.preventDefault();
    $.post("insert.php", 
    { input_value : $("#myInput").val()},
     function(data) {
       $('#response').html(data);
      console.log("Success");
    });
  });
});
</script> 
 <form action=""  id= "cdbt" method="post">
  <input type="text" id="myInput" placeholder="Title...">
  <input type="submit" name="submit">
  </form>

插入.php

$value = $_POST['input_value'];     
$sql1 = "CREATE TABLE $value";

通过用户在php中输入值创建数据库表

【问题讨论】:

  • 哎呀,这听起来真是个坏主意。 SQL 注入和动态创建表听起来不是一个好方法。为什么需要这个?
  • 您的 SQL 服务器/数据库引擎是什么(基于sqlsrv 标签,您可能正在使用 SQL Server 和 SQL Server 的 PHP 驱动程序)?

标签: php jquery sql database sqlsrv


【解决方案1】:

您必须在表单上附加提交事件:

$(document).ready(function () {
    $('#cdbt').submit(function (e) {  
    e.preventDefault();
    $.post("insert.php", 
    { input_value : $("#myInput").val()},
     function(data) {
       $('#response').html(data);
      console.log("Success");
    });
  });
});

您的代码容易受到SQL injection 的攻击,您应该使用escape 值,例如:

$value = mysqli_real_escape_string($con,$_POST['input_value'])

【讨论】:

    猜你喜欢
    • 2016-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-22
    • 1970-01-01
    • 2021-09-05
    • 2015-05-26
    • 1970-01-01
    相关资源
    最近更新 更多