В настоящее время я пытаюсь получить базу данных, обновленную через форму PHP. Во-первых, я получаю всю информацию из базы данных в форме и затем пытаюсь обновить данные в этой форме, чтобы отразить базу данных.База данных не обновляется - PHP-форма через MySQLi
Мне удалось успешно получить все данные из базы данных в форме, но, к сожалению, по этой причине не обновляется.
Вот код для извлечения информации из БД, в форме, которая работает на 100%:
include_once 'db_connect.php';
if($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<form id=updateVehicle action='' method=post";
echo "<div id='vehicleDescription'>";
echo "<div>";
echo "<label for=vin>VIN</label>";
echo "<input type=text id=vin name=vin minlength=17 maxlength=17 placeholder=e.g. BMW1234567890ABCD value=" . $row['vin'] . " />";
echo "<br/>";
echo "</div>";
echo "<div>";
echo "<label for=make>Make</label>";
echo "<input type=text id=make name=make minlength=3 maxlength=13 placeholder=e.g. BMW value=" . $row['make'] . " />";
echo "<br/>";
echo "</div>";
echo "<div>";
echo "<label for=model>Model</label>";
echo "<input type=text id=model name=model minlength=2 maxlength=15 placeholder=e.g. 530D value=" . $row['model'] . " />";
echo "<br/>";
echo "</div>";
echo "<div>";
echo "<input type=text name=id value=" . $row['id'] . " />";
echo "</div>";
echo "<span><?php echo $errorMessage;?></span>";
echo "</div> <!--End of vehicleDescription div-->";
echo "<input type='submit' class='submit' value='Update Ads' />";
echo "</form>";
}
}
Действие пустой, потому что он представляет себе, я пытался использовать «эхо htmlspecialchars ($ _SERVER [ "PHP_SELF"]);» но это не сработало, поэтому я оставил его.
Вот код для обработки обновления, который не работает:
if(isset($_POST['vin'], $_POST['make'], $_POST['model'])) {
$vin = filter_input(INPUT_POST, 'vin', FILTER_SANITIZE_STRING);
$make = filter_input(INPUT_POST, 'make', FILTER_SANITIZE_STRING);
$model = filter_input(INPUT_POST, 'model', FILTER_SANITIZE_STRING);
$id = filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT);
if($insert_stmt = $mysqli->prepare("UPDATE vehicles SET (vin=?, make=?, model=? WHERE id=? ")) {
$insert_stmt->bind_param("sssi", $vin, $make, $model, $id);
if(!$insert_stmt->execute()) {
header('Location: ../error.php?err=Registration failure: UPDATE');
$mysqli->close();
}
}
header('Location: ../includes/register_success.php');
$mysqli->close();
}
Для некоторых неизвестных причин мне не обновляет базу данных на всех. «Db_connect.php» работает на 100%, поскольку я использую его для других запросов к базе данных.
Я бы очень признателен за любую помощь, если вы могли бы указать мне в правильном направлении.
Спасибо!
Вы получаете какую-либо ошибку. в вашем error_log? И что произойдет, если вы попытаетесь выполнить echo '$ vin $ make $ model $ id' после их дезинфекции? – Qirel
Потерять круглые скобки? – Drew
Привет, Qirel. Всякий раз, когда я пытаюсь активировать журнал ошибок, Неустранимая ошибка: класс «mysqli» не найден в ... ». Однако, если отчет об ошибках отключен, код выполняется так, как следует, кроме кода, который не работает как человек выше. Кроме того, когда я повторяю эти переменные, ничего не происходит. Предположительно, переменные не установлены? Спасибо – CodeX