首页 > 解决方案 > 为什么我的插入没有将产品信息添加到 PHP 中的 MySql 数据库中?

问题描述

我正在尝试使用 PHP 表单将产品插入 MySQL,并且我已经调试了代码并且变量显示信息在那里,但是当它完成调试并且我查看产品列表时,没有插入。

这是在 index.php 文件中添加产品的操作代码:


} else if($action == 'add_product') {
    $product_code = filter_input(INPUT_POST, 'productCode');
    $name = filter_input(INPUT_POST, 'name');
    $version = filter_input(INPUT_POST, 'version');
    $release_date = filter_input(INPUT_POST, 'releaseDate');
    if ($product_code == NULL || $name == NULL || $version == NULL || 
            $release_date == NULL) {
        $error = "Invalid product data. Check all fields and try again.";
        include('../errors/error.php');             
    } else {
        add_product($product_code, $name, $version, $release_date);
        $products = get_products();
        include 'product_list.php';
    }

}

这是 add_product 函数的代码:

function add_product($product_code, $name, $version, $release_date) {
    global $db;
    $query = 'INSERT INTO products
                 (productCode, name, version, releaseDate)
              VALUES
                 (:product_code, :name, :version, :release_date)';
    $statement = $db->prepare($query);
    $statement->bindValue(':product_code', $product_code);
    $statement->bindValue(':name', $name);
    $statement->bindValue(':version', $version);
    $statement->bindValue(':release_date', $release_date);
    $statement->execute();
    $statement->closeCursor();
}

这是 product_add.php 文件的代码:

<div id= "main">
    <h1>
        Add Product
    </h1>
    <form action="index.php" method="post"
              id="add_product_form">
        <input type="hidden" name="action" value="add_product">

         <table id="no_border">
             <tr>
                 <td><label>Code:</label></td>
                 <td><input type="text" name="productCode"required></td><br>
            </tr>
            <tr>
                <td><label>Name:</label></td>
                <td><input type="text" name="name"required></td><br>
            </tr>
            <tr>
                <td><label>Version:</label></td>
                <td><input type="text" name="version"required></td><br>
            </tr>
            <tr>
                <td><label>Release Date:</label></td>
                <td><input type="text" name="releaseDate"required></td>
            <td><p>Use 'yyyy-mm-dd' format</p></td>
            </tr>
            <label>&nbsp;</label>
            <tr>
                <td><input type="submit" value="Add Product"></td>           
            </tr>
        </form>
    </table>
    <p class="last_paragraph">
        <a href="index.php?action=list_products" >View Product List</a>
    </p>
</div>

任何人都可以就我可能遗漏或做错的事情给我任何指示吗?提前感谢您对此提供的任何帮助。

标签: phpmysqlinsert

解决方案


推荐阅读