Php 如何将表单中的数据正确插入数据库?

Php 如何将表单中的数据正确插入数据库?,php,forms,pdo,Php,Forms,Pdo,所以我一直在使用MVC方法开发一个表单,它将使用PDO将数据插入数据库。我有addWine表单、addWine控制器、数据访问模型和wine类模型。提交表单时,不会发生任何事情,也不会填充数据库。有人能指出我做错了什么吗 酒型 <form action= "" method="POST"> <table> <b>Fill the form to add new wine</b><p><p> <

所以我一直在使用MVC方法开发一个表单,它将使用PDO将数据插入数据库。我有addWine表单、addWine控制器、数据访问模型和wine类模型。提交表单时,不会发生任何事情,也不会填充数据库。有人能指出我做错了什么吗

酒型

<form action= "" method="POST">
    <table>
     <b>Fill the form to add new wine</b><p><p>
    <tr>
    <td> Wine ID:     </td>
    <td><input type="text" name= "wineID"/></td>
    </tr>

    <tr>
    <td>Wine Country ID: </td>
    <td><input type="text" name="wineCountryID"/></td>
    </tr>

    <tr>
    <td>Wine Size ID: </td>
    <td><input type="text" name="wineSizeID"/></td>
    </tr>

    <tr>
    <td>Wine Rating ID: </td>
    <td><input type="text" name="wineRatingID"/></td>
    </tr>

    <tr>
    <td>Wine Colour ID: </td>
    <td><input type="text" name="wineColourID"/></td>
    </tr>

    <tr>
    <td>Wine Package ID: </td>
    <td><input type="text" name="winePackageID"/></td>
    </tr>

    <tr>
    <td>Wine Category ID: </td>
    <td><input type="text" name="wineCategoryID"/></td>
    </tr>

    <tr>
    <td>Wine Code: </td>
    <td><input type="text" name="wineCode"/></td>
    </tr>

    <tr>
    <td>Wine Price: </td>
    <td><input type="text" name="wineCountryID"/></td>
    </tr>

    <tr>
    <td>Wine Description: </td>
    <td><input type="text" name="wineDescription"/></td>
    </tr>

    <tr>
    <td>Wine Rating: </td>
    <td><input type="text" name="wineRating"/></td>
    </tr>

    <tr>
    <td>Wine Image: </td>
    <td><input type="text" name="wineImage"/></td>
    </tr>

  </table><p><br>

  <center><input type="submit" name= "addWineButton" value="Add Wine"></center><p><p><p><p>
  </form>

代码正在运行。我已经更新了原始帖子以反映这些变化。谢谢大家的帮助。

代码正在运行。我已经更新了原始帖子以反映这些变化。感谢所有人的帮助。

您在$\u请求而不是$\u POST中查找表单值有什么原因吗?@develinformnate我正在遵循一个示例。我最初是以$的形式发布的,但这也不起作用。你需要养成习惯,让它帮助你解决问题。您将获得积分,其他人将被鼓励帮助您。@JayBlanchard我完全愿意接受有助于我解决问题的答案。在您的其他问题上,是否有一个可接受的答案?您在$\u请求而不是$\u POST中查找表单值是否有原因?@Devlenvanate我正在遵循一个示例。我最初是以$的形式发布的,但这也不起作用。你需要养成习惯,让它帮助你解决问题。您将获得积分,并鼓励其他人帮助您。@JayBlanchard我完全愿意接受有助于解决问题的答案。对于您的其他问题,是否有一个可接受的答案?
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

session_start();
require_once('../Model/dataAccess.php');
require_once('../Model/wine.class.php');

$status = false;

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

$wineID = $_POST["wineID"];
$wineCountryID = $_POST["wineCountryID"];
$wineSizeID = $_POST["wineSizeID"];
$wineRatingID = $_POST["wineRatingID"];
$wineColourID = $_POST["wineColourID"];
$packageID = $_POST["packageID"];
$wineCategoryID = $_POST["wineCategoryID"];
$wineCode = $_POST["wineCode"];
$price = $_POST["price"];
$description = $_POST["description"];
$wineRating = $_POST["wineRating"];
$wineIMG = $_POST["wineIMG"];

$wineAdd = new Wine();
$wineAdd->wineID = htmlentities($wineID);
$wineAdd->wineCountryID = htmlentities($wineCountryID);
$wineAdd->wineSizeID = htmlentities($wineSizeID);
$wineAdd->wineRatingID = htmlentities($wineRatingID);
$wineAdd->wineColourID = htmlentities($wineColourID);
$wineAdd->packageID = htmlentities($packageID);
$wineAdd->wineCategoryID = htmlentities($wineCategoryID);
$wineAdd->wineCode = htmlentities($wineCode);
$wineAdd->price = htmlentities($price);
$wineAdd->description = htmlentities($description);
$wineAdd->wineRating = htmlentities($wineRating);
$wineAdd->wineIMG = htmlentities($wineIMG);

addWine($wineAdd);
$status = "$description has been updated.";
 }
?>
<?php

class Wine {


var $wineID;
var $wineSizeID;
var $wineCountryID;
var $wineRatingID;
var $wineColourID;
var $wineCode;
var $price;
var $description;
var $wineRating;
var $wineIMG;
var $packageID;
var $wineCategoryID;

function __get($name){
return $this->$name;
}
function __set($name,$value){
$this->$name=$value;
 }
}
?>
function addWine($wineAdd){
global $pdo;
$statement = $pdo->prepare('INSERT INTO Wine
(wineID, wineCountryID, wineSizeID, wineRatingID, wineColourID, packageID,
wineCategoryID, wineCode, price, description, wineRating, wineIMG) VALUES  (?,?,?,?,?,?,?,?,?,?,?,?)');
$statement->execute([$wineAdd->wineID,
                     $wineAdd->wineCountryID,
                     $wineAdd->wineSizeID,
                     $wineAdd->wineRatingID,
                     $wineAdd->wineColourID,
                     $wineAdd->packageID,
                     $wineAdd->wineCategoryID,
                     $wineAdd->wineCode,
                     $wineAdd->price,
                     $wineAdd->description,
                     $wineAdd->wineRating,
                     $wineAdd->wineIMG]);
  $statement->fetch();
  }