Проблемы с использованием MySQL внутри PHP и попыткой вставить базу данных в таблицы - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь использовать страницу с именем create-order.php для публикации информации из этой формы в файл verify-order.php, который будет вставлять то, что помещено в таблицу из файла create-order.php, и вводить данные в моя база данных Я полагаю, что у меня есть права на sql, но я не могу получить данные для просмотра при просмотре моей таблицы в phpmyadmin.

Я попытался установить переменные в файле verify-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-verify.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 Ответ

2 голосов
/ 23 апреля 2019

order является зарезервированным ключевым словом MySQL .

Таким образом, использование 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)";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...