在PHP中使用MySQL并尝试使我的数据库插入表中时出现问题

时间:2019-04-23 13:33:42

标签: php html mysql phpmyadmin

我正在尝试使用一个名为create-order.php的页面将表单中的信息发布到Confirm-order.php中,该信息将把create-order.php中的内容插入表中并将数据输入到我的数据库。我相信我的SQL正确,但在phpmyadmin中查看表时却无法显示数据。

我已经尝试在Confirm-order.php中设置变量,并从上一个网页发布每个变量,然后创建一个$ sql变量,该变量将成为将数据插入表中的命令。我的问题是要使数据显示在phpmyadmin中

create-order.php看起来像这样:

<html>
    <head>
    <title>Create order</title>
    </head>
    <body>
        <h3>Create order form</h3>
        <form method="post" action="order-confirm.php">
            <p>Store ID:<input type="text" name="store_id" /></p>
            <p>Console ID:<input type="text" name="console_id" /></p>
            <p>Quantity:<input type="text" name="quantity"</p>
            <p><input type="submit" value="Create Order" /> &nbsp; <input type="reset" value = "Reset Order"/></p>
        </form>
    </body>
</html>

order-confirm.php看起来像这样:

//session_start() has to be called the very first line where a session is used
session_start();
include 'db.php';

$store_id = $_POST['store_id'];
$console_id = $_POST['console_id'];
$quantity = $_POST['quantity'];

$sql = "INSERT INTO orders(Stores_StoreID, Consoles_idConsoles, order) VALUE ($store_id, $console_id, $quantity)";

$result = mysqli_query($conn, $sql);




?>

我希望将数据插入表中,但是不会插入。

1 个答案:

答案 0 :(得分:2)

orderMySQL reserved keyword

因此,使用order作为列将在MySQL中引起语法错误。您有两种解决方案:

1)在order上加上反引号。

$sql = "INSERT INTO orders(Stores_StoreID, Consoles_idConsoles, `order`) VALUE ($store_id, $console_id, $quantity)";

2)订购前的前缀表名称,例如orders.order

$sql = "INSERT INTO orders(Stores_StoreID, Consoles_idConsoles, orders.order) VALUE ($store_id, $console_id, $quantity)";