Когда я нажимаю кнопку отправки, вмененные данные должны перейти в запрос ниже, однако это не так.

Похоже, вместо этого используется значение кнопки.

Может кто-нибудь разобраться, почему не работает. Это тот же код, который используется для моей страницы входа, и он работает.

Он переходит к другой части оператора if

Ошибка :

Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FROM test_set WHERE Room_Code='room'' at line 1

Запрос:

if (isset($_POST['room']))
    {
    require "connect.php";

    if (count($_POST) > 0)
        {
        $result = mysqli_query($conn, "SELECT id, FROM test_set WHERE Room_Code='" . $_POST["room"] . "'");
        if (!$result) {
    printf("Error: %s\n", mysqli_error($conn));
    exit();
}
        $row = mysqli_fetch_array($result);
        if (is_array($row))
            {
            $_SESSION["Room_ID"] = $row['id'];
            header("Location: ../views/student/question.php?id='" . $_SESSION["Room_ID"] . "'");
            }
          else
            {
            echo "No";
            }
        }
    }

Форма:

 <form method="POST" name="room" action="../../config/functions.php">
            <label for="room" class="sr-only">Room Code</label>
            <input type="text" id="room" name="room" class="form-control" placeholder="Please Enter Room Code">
            <br>
            <input type="submit" class="waves-effect waves-light btn blue darken-3" name="room" value="room">
        </form>

Изменить:

Все еще не работает, также меняясь таким образом:

$result = mysqli_query($conn, "SELECT id FROM test_set WHERE Room_Code='" . $_POST["room"] . "'");
0
JohnyChew 21 Фев 2016 в 15:17

2 ответа

Лучший ответ

Удалите , из вашего запроса:

ВЫБРАТЬ идентификатор ,

$result = mysqli_query($conn, "SELECT id FROM test_set 
WHERE Room_Code='" . $_POST["room"] . "'");
4
Gouda Elalfy 21 Фев 2016 в 12:19

Значение кнопки используется, потому что имя, которое вы присвоили кнопке отправки, - «комната»: то же имя, которое вы используете для входного текста. Удалите атрибут name из кнопки отправки, и он должен работать.

после редактирования2

Изменение

header("Location: ../views/student/question.php?id='" . $_SESSION["Room_ID"] . "'");

К

header("Location: ../views/student/question.php?id=" . $_SESSION["Room_ID"]);

Вам не нужно заключать переменные в кавычки в строке запроса

1
drakyoko 21 Фев 2016 в 12:42