将PHP变量插入SQL查询

时间:2016-12-08 06:15:36

标签: php mysql

我收到了来自get请求的ID并将其放入新变量$ id。我试图将此变量包含在SQL查询中,但它不起作用。但是,当我对ID进行硬编码时,它确实有效。

这很好用。

$query = "UPDATE products SET p_name = " . "'TEST' WHERE p_id=000007;";

以下代码不起作用。谁能解释一下呢?

$query = "UPDATE products SET p_name = " . "'TEST' WHERE p_id=" . $id . ";";

我的所有代码,如果有人可以提供帮助:

        <?php

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

        // Create connection
        $conn = mysqli_connect($servername, $username, $password, $dbname);

        // Check Connection
        if (!$conn) {
            die("Connection failed: " . mysqli_connect_error());
        }

            $id = $_GET['id'];
            echo $id;


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



                $query = "UPDATE products SET p_name = " . "'TEST' WHERE p_id=" . $id . ";";


                $result = mysqli_query($conn, $query);
            }


            ?>


    <div>
        <form id="updateForm" name="updateForm" action="update.php" 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





     ?>

我在另一个包含ID的页面中使用了这个链接。

<a href="update.php?mode=update&id=<?php echo $productDetails['p_id']; ?>"
                       title="Update <?php echo $productDetails['p_name']; ?>">Update</a>

2 个答案:

答案 0 :(得分:2)

您没有获取ID,因为您的网址中没有ID

<form id="updateForm" name="updateForm" action="update.php?id=<?php echo $id; ?>" method="post">

或将ID隐藏为

<input type="hidden" name="id" id="your_id"/>

答案 1 :(得分:0)

将您的查询更改为

$query = "UPDATE products SET p_name = 'TEST' WHERE p_id=". $id;