Я очень новичок в SQL/PHP/HTML и изучаю их в uni на данный момент.
Нам было предложено создать веб-сайт по нашему выбору с функциональностью, включая формы, которые позволят нам обновлять и добавлять в базу данных.
Я создал самую основную библиотеку комиксов, которую вы когда-либо видели.PHP обновление таблицы не влияет на базу данных
До сих пор у меня есть одна рабочая форма, которая позволяет пользователю добавлять новый комикс в базу данных с кучей соответствующих полей, я пытаюсь создать другую форму на другой странице, которая позволяет пользователю отмечать комикс как , выбрав его в раскрывающемся списке и нажав кнопку «Отправить».
Это изменит логическое значение от 0 до 1, которое будет отображаться на странице комикса, обозначающей его как принадлежащее.
Мне удалось создать форму, и все, кажется, работает, сообщение подтверждения отображается при нажатии кнопки отправки, но тогда база данных фактически не обновляется.
Ниже приведен код PHP. Если это помогает узнать таблицу, которую я пытаюсь обновить, называется Comic, а конкретный столбец называется собственностью, все принадлежащие логическим значениям устанавливаются как 0, эта форма должна обновлять его до 1. Все работает, кроме обновляется актуальная база данных.
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$content = "<h1>Mark a comic as owned</h1>";
$action = $_SERVER["PHP_SELF"]."?page=owned";
$sql0 = "SELECT Comic.name, Comic.id, Comic.owned
FROM Comic";
$result0 = mysqli_query($link, $sql0);
if($result0 === false){
echo mysqli_error($link);
} else {
$options0 = "";
while($row = mysqli_fetch_assoc($result0)){
$options0 .= "<option value='".$row['id']."'>";
$options0 .= $row['name'];
$options0 .= "</option>";
}
}
$form_html = "<form action'".$action."' method='POST'>
<fieldset>
<label for='m_own'>Comic:</label>
<select name='m_own' required>
<option value='' disabled selected>Select owned comic</option>
".$options0."
</select>
</fieldset>
<button type='submit'>Submit</button>
</form>";
$content .= $form_html;
if($_SERVER["REQUEST_METHOD"] == "POST"){
$m_own = $_POST["m_own"];
$sql888 = "UPDATE Comic
SET owned = 1
WHERE name ='.$m_own.';";
$result888 = mysqli_query($link, $sql888);
if($result888 === false){
echo mysqli_errno($link);
} else {
$content .= "Marked";
}
}
?>
is '$ m_own' a str или целое число? –
Почему существует «;» в строке запроса для обновления? –
@ Усман Рана не слишком беспокоился об этом. –