PHP: обновление в таблице базы данных MySQL не работает - PullRequest
0 голосов
/ 06 апреля 2019

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

Вот код:

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.

Проблема, с которой я столкнулся:

Операция обновления не выполнена.Никаких изменений в значениях таблицы базы данных.Ошибка не отображается.

Я не могу понять, что здесь происходит не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...