Intereting Posts
Неустранимая ошибка: вызов функции-члена get () для не-объекта в C: \ wamp \ www \ ci \ application \ models \ site_model.php в строке 6 Анализ XML с помощью PHP и XMLReader Как организовать классы Luracast Restler для создания связанных конечных точек маршрута? Много файлов в одном каталоге приводят к увеличению времени загрузки в Apache? Как получить электронную почту от facebook Форматирование HTML ICalendar-парсер в PHP, который поддерживает часовые пояса Измените размер изображения и заполните пробелы пропорций цветом php var_dump () vs print_r () Json-файл не работает / не читает jsonarray не может быть преобразован в jsonobject PHP-классы с пространством имен не могут быть загружены через spl_autoload_register? Снимок экрана с div с html2canvas. Отправлено в php, сохранено: поврежденное изображение Добавление CSS в PHP Лучший способ хранить «теги» для скорости в огромной таблице Получить ключ JSON. Сопоставив значение ключа под-объекта

PHP mySqli не обновляет таблицу

Я пытаюсь обновить таблицу, но ничего не меняется. Имя и поля базы данных верны.

<?php require("config.php"); $forname = $_POST['name']; $newval = "yes"; mysqli_query($con, "UPDATE pupils SET signin = '$newval' WHERE forname = '$forname'"); mysqli_close($con); ?> 

Помогите оценить! Благодаря,

ОБНОВИТЬ

Похоже, что по какой-то причине данные корректно публикуются.

 <form class="form-inline" name="markin" role="form" method="POST" action="markin.php"> <div class="form-group"> <select class="form-control" name"name" id="name"> <?php $query = "SELECT * FROM `pupils` WHERE signin = 'no'";//Grab the data $result = mysqli_query($con, $query); while ($row = mysqli_fetch_array($result)) {//Creates a loop to loop through results echo "<option>" . $row['forname'] . "</option>";//$row['index'] the index here is a field name } ?> </select> </div> <button type="submit" class="btn btn-success">Mark in</button> </form> 

Это ужасный способ использования расширения mysqli .

Во-первых, я предлагаю вам прочитать подготовленные инструкции quickstart, которые приведут вас к чему-то вроде этого …

 $stmt = $con->prepare('UPDATE pupils SET signin = ? WHERE forname = ?'); $stmt->bind_param('ss', $newval, $forname); $stmt->execute(); 

В качестве дополнительного бонуса вы должны установить mysqli для исключения исключений при ошибке, поэтому вам не нужно постоянно проверять возвращаемые значения. В файле config.php перед созданием соединения сделайте это …

 mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $con = new mysqli(...); // or however you create $con 

и, как упоминалось в комментариях, файл php.ini в вашей среде разработки должен включать полную отчетность об ошибках со следующими директивами

 error_reporting = E_ALL display_errors = On 

Чтобы ответить на ваш вопрос, вам не хватает знака равенства для атрибута name <select> . Должен быть

 <select class="form-control" name="name" id="name">