【问题标题】:Inserting data into a MYSQL database将数据插入 MYSQL 数据库
【发布时间】:2015-09-04 09:31:01
【问题描述】:

我在将数据插入“justrated”数据库时遇到问题。一旦用户输入了他们的企业名称,它应该在“企业”表中创建一个新条目。由于某种原因,我无法将数据输入到表中。任何建议都将不胜感激。

代码:

<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
</head>
<body>
<form>

<input type="text" name="BusinessName" method="POST">
<input type="Submit" value="submit" name="submit" method="POST">

</form>

<?php


if (isset($_POST["submit"])){
    //create connection
    $conn = new mysqli("localhost", "root", "", "justrated");
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    $sql = "INSERT INTO businesses (BusinessName)
VALUES ('".$_POST['BusinessName']."' )";
    mysql_query($sql);
    if ($conn->query($sql) === TRUE) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }

    $conn->close();
}

?>

</body>
</html>

【问题讨论】:

  • 你需要学习html form。并且不要混mysql and mysqli
  • 当你使用mysqli时,你不能使用mysql_query()
  • @Saty 他的表格有什么问题?
  • @Barmar 检查method 输入类型&lt;input type="text" name="BusinessName" method="POST"&gt;
  • 阅读准备好的语句和 SQL 注入。

标签: php html mysql forms


【解决方案1】:

您的一个问题是$_POST['BusinessName'] 是空的,因为表单是使用 GET 请求而不是 POST 请求提交的。 method=POST 属性位于 &lt;form&gt; 元素上。例如:

<form method="POST">
  <input type="text" name="BusinessName">
  <input type="Submit" value="submit" name="submit">
</form>

此外,您应该在将数据插入数据库之前正确转义数据:

$sql = "INSERT INTO businesses (BusinessName)
VALUES ('" . $conn->real_escape_string ($_POST['BusinessName']) . "' )";

此外,在这两行中:

mysql_query($sql);
if ($conn->query($sql) === TRUE) {

您尝试使用 MySQL 和 MySQLi 扩展执行相同的查询两次。您应该删除第一行。

【讨论】:

    【解决方案2】:

    HTML 代码

    <form method="post" action="test1.php">
    <input type="text" name="BusinessName" >
    <input type="Submit" value="submit" name="submit" >
    </form>
    

    PHP 代码

    if (isset($_POST["submit"]))
    {
        //create connection 
        $conn = new mysqli("localhost", "root", "", "justrated");
        // Check connection
        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }
    
        $sql = "INSERT INTO businesses (`BusinessName`)
            VALUES ('".$_POST['BusinessName']."' )";
    
        if ($conn->query($sql) === TRUE) {
            echo "New record created successfully";
        } else {
            echo "Error: " . $sql . "<br>" . $conn->error;
        }
        $conn->close();
    } 
    

    不要混用 mysqlmysqli....

    【讨论】:

      【解决方案3】:

      HTML:

      <form method="POST">
      
          <input type="text" name="BusinessName">
          <input type="Submit" value="submit" name="submit" >
      
          </form>
      

      PHP: 使用

      $conn->query($sql); not mysql_query()
      

      【讨论】:

      • mysqli_query 的语法不正确。他已经有$conn-&gt;query($sql),没错。
      【解决方案4】:

      你好,请检查这个我希望这对你有用

      $sql = "INSERT INTO businesses (`BusinessName`)
              VALUES ('".$_POST['BusinessName']."' )";
      
      if (mysqli_query($conn, $sql)) {
          echo "New record created successfully";
      } else {
          echo "Error: " . $sql . "<br>" . mysqli_error($conn);
      }
      

      【讨论】:

        猜你喜欢
        • 2023-04-10
        • 2013-05-29
        • 1970-01-01
        • 1970-01-01
        • 2013-03-25
        • 1970-01-01
        • 1970-01-01
        • 2023-02-02
        • 2011-07-05
        相关资源
        最近更新 更多