Я извлекаю значения из базы данных в форму для обновления, при нажатии кнопки отправки значения должны обновляться.
Вот код:
PostUpdate.php:
<?php
session_start();
$username=$_SESSION['uname'];
$cn=mysqli_connect("localhost", "root", "", "imedtalks");
// Define variables and initialize with empty values
$course = $category = "";
$title = $descp = "";
// Processing form data when form is submitted
if(isset($_POST["pid"]) && !empty($_POST["pid"])){
// Get hidden input value
$pid = $_POST["pid"];
// Check input errors before inserting in database
if(!empty($course) && !empty($category) && !empty($title) && !empty($descp)){
// Prepare an update statement
$sql = "UPDATE posts SET course=?, category=?, title=?, descp=? WHERE pid=?";
if($stmt = mysqli_prepare($cn, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "ssssi", $param_course, $param_category, $param_title, $param_descp, $param_pid);
// Set parameters
$param_course = $course;
$param_category = $category;
$param_title = $title;
$param_descp = $descp;
$param_pid = $pid;
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
// Records updated successfully. Redirect to landing page
header("location: BCAposts.php");
exit();
} else{
echo "Something went wrong. Please try again later.";
}
// Close statement
mysqli_stmt_close($stmt);
}
}
// Close connection
mysqli_close($cn);
} else{
// Check existence of id parameter before processing further
if(isset($_GET["pid"]) && !empty(trim($_GET["pid"]))){
// Get URL parameter
$pid = trim($_GET["pid"]);
//echo $pid;
// Prepare a select statement
$sql = "SELECT pid,course,category,title,descp FROM posts WHERE pid = ?";
if($stmt = mysqli_prepare($cn, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "i", $param_pid);
// Set parameters
$param_pid = $pid;
//echo $param_pid;
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
$result = mysqli_stmt_get_result($stmt);
if(mysqli_num_rows($result) == 1){
/* Fetch result row as an associative array. Since the result set contains only one row, we don't need to use while loop */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
//echo '<pre>', var_dump($row) ,'
';
// Получить значение отдельного поля
$ pid = $ row ['pid'];
$ course = $ row ['course'];
$ category = $ row ['category'];
$ title = $ row ['title'];
$ descp = $ row ['descp'];
} еще {
// URL не содержит действительный идентификатор. Перенаправить на страницу ошибки
заголовок ("location: BCAposts.php");
выход();
}
} еще {
echo "Упс! Что-то пошло не так. Повторите попытку позже.";
}
}
// Закрыть заявление
mysqli_stmt_close ($ STMT);
// Закрыть соединение
mysqli_close ($ сп);
} еще {
// URL не содержит параметр id. Перенаправить на страницу ошибки
заголовок ("location: BCAposts.php");
выход();
}
}
?>
IMEDTalks-пост-
<? php echo $ title;?>
FAQ О нас Свяжитесь с нами
Добро пожаловать!Профиль Выйти
Обновление сообщения Пожалуйста, измените входные значения и отправьте, чтобы обновить сообщение. Курс: Выберите любой: BCA MCA Категория: Выберите любой: Язык программирования Веб-технологии Математика и статистика База данных Структуры данных Операционные системы Управление Проект Soft Skills Стажировки Места размещения Другие Название: Описание: <? php echo $ descp;?>
" />
Здесь я использую pid, которыйкупленный на предыдущей странице, где данные перечислены в формате таблицы, и одним нажатием кнопки эти данные / запись загружаются в форму для редактирования и обновления, используя pid (первичный ключ в моей таблице базы данных). Iamиспользование начальной загрузки 4.
Проблема, с которой я столкнулся:
Операция обновления не выполнена.Никаких изменений в значениях таблицы базы данных.Ошибка не отображается.
Я не могу понять, что здесь происходит не так.