dongyi6195 2019-04-06 05:43
浏览 150

PHP:MySQL数据库表中的更新不起作用

I am retrieving values from the database into the form for update, on the press of the submit button, the values should get updated.

Here's the code:

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) ,'</pre>';
                    
                    // Retrieve individual field value
                    $pid = $row['pid'];
                    $course = $row['course'];
                    $category = $row['category'];
                    $title = $row['title'];
                    $descp = $row['descp'];

                } else{
                    // URL doesn't contain valid id. Redirect to error page
                    header("location: BCAposts.php");
                    exit();
                }
                
            } else{
                echo "Oops! Something went wrong. Please try again later.";
            }
        }
        
        // Close statement
        mysqli_stmt_close($stmt);
        
        // Close connection
        mysqli_close($cn);
    }  else{
        // URL doesn't contain id parameter. Redirect to error page
        header("location: BCAposts.php");
        exit();
    }
}
?>


  <html>

  <head>
    <title>IMEDTalks-Post-
      <?php echo $title;?>
    </title>

    <link href="./css/bootstrap.min.css" rel="stylesheet" />
    <script src="./scripts/jquery-3.3.1.min.js"></script>
    <script src="./scripts/bootstrap.min.js"></script>


    <style>
      /* Make the image fully responsive */
      
      .carousel-inner img {
        width: 100%;
        height: 30%;
      }
    </style>

  </head>

  <body>



    <div id="mycarousel" class="carousel slide" data-ride="carousel">
      <ol class="carousel-indicators">
        <li data-target="#mycarousel" data-slide-to="0" class="active"></li>
        <li data-target="#mycarousel" data-slide-to="1"></li>
        <li data-target="#mycarousel" data-slide-to="2"></li>
      </ol>
      <div class="carousel-inner">
        <div class="carousel-item active">
          <img src="./images/banner1.jpg" alt="First slide">
        </div>
        <div class="carousel-item">
          <img src="http://placehold.it/1200x675&text=Second+slide" alt="Second slide">
        </div>
        <div class="carousel-item">
          <img src="http://placehold.it/1200x675&text=Third+slide" alt="Third slide">
        </div>
      </div>
      <a class="carousel-control-prev" href="#mycarousel" role="button" data-slide="prev">
        <span class="carousel-control-prev-icon" aria-hidden="true"></span>
        <span class="sr-only">Previous</span>
      </a>
      <a class="carousel-control-next" href="#mycarousel" role="button" data-slide="next">
        <span class="carousel-control-next-icon" aria-hidden="true"></span>
        <span class="sr-only">Next</span>
      </a>

    </div>


    <nav class="navbar navbar-expand-sm navbar-light bg-light">

      <a class="navbar-brand" href="UserHomePage.html"><img src="./images/brand.png" alt="logo" style="width:40px;"></a>

      <button class="navbar-toggler d-lg-none" type="button" data-toggle="collapse" data-target="#collapsibleNavId" aria-controls="collapsibleNavId" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>

      <div class="collapse navbar-collapse" id="collapsibleNavId">

        <ul class="navbar-nav mr-auto mt-2 mt-lg-0">
          <li class="nav-item active">
            <a class="nav-link" href="UserHomePage.html">Home <span class="sr-only">(current)</span></a>
          </li>

          <li class="nav-item">
            <a class="nav-link" href="#">Official Announcements</a>
          </li>

          <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="#" id="dropdownId" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Discussion Forum</a>
            <div class="dropdown-menu" aria-labelledby="dropdownId">
              <a class="dropdown-item" href="#">BCA</a>
              <a class="dropdown-item" href="MCAposts.php">MCA</a>
            </div>
          </li>

          <li class="nav-item">
            <a class="nav-link" href="Post.php">Quick Post</a>
          </li>

          <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="#" id="dropdownId" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Fun Zone</a>
            <div class="dropdown-menu" aria-labelledby="dropdownId">
              <a class="dropdown-item" href="Articles.html">Articles</a>
              <a class="dropdown-item" href="ChitChat.html">Chit Chat</a>
            </div>
          </li>

          <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="#" id="dropdownId" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Resource Contents</a>
            <div class="dropdown-menu" aria-labelledby="dropdownId">
              <a class="dropdown-item" href="#">Course Syllabus</a>
              <a class="dropdown-item" href="#">Study Materials</a>
              <a class="dropdown-item" href="#">Previous Year Question Papers</a>
              <a class="dropdown-item" href="#">Reference Books</a>
            </div>
          </li>

          <li class="nav-item">
            <a class="nav-link" href="FAQ.html">FAQ</a>
          </li>

          <li class="nav-item">
            <a class="nav-link" href="AboutUs.html">About Us</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="ContactUs.html">Contact Us</a>
          </li>

        </ul>

        <div>
          <ul class="navbar-nav mr-auto mt-2 mt-lg-0">
            <li class="nav-item dropdown btn-primary">
              <a class="nav-link dropdown-toggle" href="#" id="dropdownId" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Welcome!
                        <?php echo $_SESSION['uname']; ?>
                        </a>
              <div class="dropdown-menu" aria-labelledby="dropdownId">
                <a class="dropdown-item" href="#">Profile</a>
                <a class="dropdown-item" href="HomePage.php">Sign Out</a>
              </div>
            </li>

          </ul>
        </div>
      </div>
    </nav>

    <br>


    <div class="wrapper">
      <div class="container-fluid">
        <div class="row">
          <div class="col-md-12">
            <div class="page-header">
              <h2 class="text-center">Update Post</h2>
            </div>
            <p class="text-center">Please edit the input values and submit to update the post.</p>
            <form action="<?php echo htmlspecialchars(basename($_SERVER['REQUEST_URI'])); ?>" method="post">


              <div class="form-group">
                <div class="row">
                  <label class="col-form-label col-md-1 offset-3" for="course">Course:</label>
                  <div class="col-md-2">
                    <select name="course" class="form-control" required>
                      <option value="<?php echo $course;?>" selected>
                        <?php echo $course;?>
                      </option>
                      <option value="">Choose any:</option>
                      <option value="bca">BCA</option>
                      <option value="mca">MCA</option>
                    </select>
                  </div>
                  <label class="col-form-label col-md-1" for="category">Category:</label>
                  <div class="col-md-3">
                    <select name="category" class="form-control" required>
                      <option value="<?php echo $category;?>" selected>
                        <?php echo $category;?>
                      </option>
                      <option value="">Choose any:</option>
                      <option value="plang">Programming Language</option>
                      <option value="web">Web Technologies</option>
                      <option value="maths">Mathematics and Statistics</option>
                      <option value="db">Database</option>
                      <option value="ds">Data Structures</option>
                      <option value="os">Operating Systems</option>
                      <option value="mngmt">Management</option>
                      <option value="pro">Project</option>
                      <option value="skills">Soft Skills</option>
                      <option value="intern">Internships</option>
                      <option value="plcmnt">Placements</option>
                      <option value="others">Others</option>
                    </select>
                  </div>
                </div>
              </div>

              <div class="form-group row">
                <label for="title" class="col-form-label col-md-2">Title:
                        </label>
                <div class="col-md-10">
                  <input type="text" class="form-control" value="<?php echo $title;?>" name="title" required>
                </div>
              </div>


              <div class="form-group row">
                <label for="desc" class="col-form-label col-md-12">Description:
                        </label>
                <div class="col-md-12">
                  <textarea class="form-control" name="descp" rows="20" required><?php echo $descp;?></textarea>
                </div>
              </div>

              <input type="hidden" name="pid" value="<?php echo $pid;?>" />


              <div class="form-group row">
                <div class="col-md-4 offset-4">
                  <a href="MCAposts.php"><button type="button" name="cancel" 
                            class="btn-lg btn-danger">Cancel</button></a>
                </div>

                <div class="col-md-4">
                  <button type="submit" name="update" class="btn-lg btn-success">Submit</button>
                </div>
              </div>
            </form>

          </div>
        </div>
      </div>
    </div>


  </body>

  </html>

Here, i am using pid which is being bought from the previous page where the data is listed in table format, and on the click of a button there, that data/post gets loaded into the form for editing and updating the same using the pid(primary key in my database table) Iam using bootstrap 4.

Problem i am facing:

The update operation is not performed. No changes in the database table values. No error shown.

I can't figure out whats going wrong here.

</div>
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 下图接收小电路,谁知道原理
    • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
    • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
    • ¥15 手机接入宽带网线,如何释放宽带全部速度
    • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
    • ¥15 ETLCloud 处理json多层级问题
    • ¥15 matlab中使用gurobi时报错
    • ¥15 这个主板怎么能扩出一两个sata口
    • ¥15 不是,这到底错哪儿了😭
    • ¥15 2020长安杯与连接网探