php - 从表单将数据发送到 SQL 数据库时出错

标签 php mysql database post pdo

我正在尝试从表单将数据发布到 SQL 数据库中。 我真的不明白我错过了什么...... 我尝试了几件事,设法让它工作一次,但表单只添加了 id,而其他字段留空。现在根本不起作用了。

我的表格是这样的

<form action ="addOutfit.php" method="post"> 

<div class="form-group">
    <label for="title">Title</label>
    <input type="text" class="form-control" id="title" placeholder="" value="">
</div>

<div class="form-group">
    <label for="description">Description</label>
    <textarea class="form-control" rows="3" id="description" value=""></textarea>
</div>

     <button type="submit" class="btn btn-default">Send</button>
</form>

我的代码是这样的

 <?php
  require("pdo.php"); 
  $_POST['title'] = "";
  $_POST['description'] = "";


  if (isset($_POST["submit"])){ 

  $title = $_POST['title'];
  $description = $_POST['description'];



  $sql = "INSERT INTO outfit (title, description) 
    VALUES('$title', '$description')";
  $statement = $pdo->prepare($sql);

 $statement->execute([
    'title' => $title,
    'description' => $description
]);
}; 
?>

最佳答案

变化:-

  1. 为所有输入字段提供name属性。

  2. 要么为按钮提供名称和值属性,要么检查输入字段的POST数据值(更好)。

所以你的代码将如下所示:-

<form action ="addOutfit.php" method="post"> 

<div class="form-group">
    <label for="title">Title</label>
    <input type="text" class="form-control" name = "title" id="title" value="">
</div>

<div class="form-group">
    <label for="description">Description</label>
    <textarea class="form-control" rows="3" name= "description" id="description" value=""></textarea>
</div>

     <button type="submit" class="btn btn-default">Send</button>
</form>


<?php
error_reporting(E_ALL); // check all type of error
ini_set('display_errors',1); // display those error
require("pdo.php"); 
if (isset($_POST['title']) && isset($_POST['description'])){  // check actual input data not submit button

    $title = $_POST['title'];
    $description = $_POST['description'];
    $sql = "INSERT INTO outfit (title, description) VALUES('$title', '$description')";
    $statement = $pdo->prepare($sql);

    $statement->execute(['title' => $title,'description' => $description]);
}
?>

注意:- 检查数据库连接是您的责任。我不知道你的“pdo.php”中有什么代码。祝你好运。

关于php - 从表单将数据发送到 SQL 数据库时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35440515/

相关文章:

php - 在 Redirect::intended 中指定路由名称

mysql - 如何从mysql访问postgres?

sql - 使用 GROUP BY 和 HAVING [SQL] 计算不同产品类别中的 MAX 和 MIN 平均价格

php - laravel-5.4 - 错误 :Creating default object from empty value

PHP 将 win-1251 转换为 UTF-8 不起作用

php - 为什么不能在 PHP 中从抽象类中调用抽象函数?

javascript - intel xdk-将 html 连接到 php 以使用 mysqli 将值保存到数据库

mysql - SQL 如何将: from two tables that has 2 same data in other named columns,其中一个需要统计

mysql - 错误 1067 (42000) : Invalid default value for 'date_time' in MySQL

sql-server - 如何在 MS SQL Server 2005 中分离编程逻辑和数据?