MySQL中的PHP更新表无法正常工作 [英] PHP update table in MySQL not working

查看:53
本文介绍了MySQL中的PHP更新表无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的php不会更新我的产品表.我知道我的GET请求在用echo显示ID时进行了测试.我对如何使它工作感到困惑?我认为这可能与表单上的action =表单有关,但我感到困惑!有人可以帮忙吗?

My php won't update my products table. I know my GET request worked as I tested it with echo to display the id. I am confused as to how I can get it to work? I think it may be something to do with the form action= on my form but I am confused! Can someone please help?

<?php
// Connection file
require 'db.php';

if (((!empty($_GET["mode"])) && (!empty($_GET["id"]))) && ($_GET["mode"] == "update")) { 
    // If update
    echo $_GET['id'];
    if (isset($_POST["updateSubmit"])) {
        $pName = $_POST["updateProductName"];
        echo $pName;

        $query = "UPDATE products "
                . "SET p_name = '" . $_POST["updateProductName"] . "', "
                . "p_type = '" . $_POST["updateProductType"] . "', "
                . "p_desc = '" . $_POST["updateProductDesc"] . "', "
                . "p_price = '" . $_POST["updateProductPrice"] . "', "
                . "p_stock = " . $_POST["updateProductStock"] . ", "
                . "WHERE id=" . $_GET['id'] . ";";
        $result = mysqli_query($conn, $query);
    }
}
?>


<div>
    <form id="updateForm" name="updateForm" action="<?php echo "?mode=update&id=" . $productDetails["id"]; ?>" method="post">
        <label>Product name:</label><br>
                <input type="text" name="updateProductName"><br>
        <label>Product type</label><br>
                <select name="updateProductType">
                    <option value="Jackets/coats">Jackets/coats</option>
                    <option value="Accessories">Accessories</option>
                    <option value="Shirts">Shirts</option>
                    <option value="Jeans">Jeans</option>
                    <option value="Trousers">Trousers</option>
                    <option value="Shoes">Shoes</option>
                    <option value="Suits">Suits</option>
                </select>
            <p>Product description:</p>
                <textarea name="updateProductDesc" rows="10" cols="30"></textarea><br>
        <label>Product price:</label><br>
            <input type="text" name="updateProductPrice"><br>
        <label>Stock level:</label><br>
            <input type="text" name="updateProductStock"><br>
            <input type="submit" name="updateSubmit" value="Submit">
   </form>
</div>
<?php


?>

推荐答案

您的查询有两个问题...

There are two issues with your query...

在位置"部分和p_stock上缺少的分隔符之前,您还有一个逗号.

You Have one extra comma before the Where Section and your missing delimeters on p_stock.

应该是: "p_stock = '" . $_POST["updateProductStock"] . "' ". "WHERE id='" . $_GET['id'] . "'";

这篇关于MySQL中的PHP更新表无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆