I'm trying to make a CRUD PHP web app that adds, updates, and deletes students from the database, I have already made a save student function and it works normal, but when I want to update student records it does not work and I didn't get any error, instead I get a message that said "Student Updated Successfully" but the record not updated in the database. I apologize for any misspelling.
dbcon.php
<?php
$servername='127.0.0.1';
$username='root';
$password='root';
$dbname = "Blog";
$conn=mysqli_connect($servername,$username,$password,$dbname);
if(!$conn){
die('Could not Connect MySql Server:' .mysqli_connect_error());
}
?>
student-edit.php
<?php
session_start();
require 'dbcon.php';
?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
<title>Edit Student</title>
</head>
<body>
<div class="container mt-5">
<?php include('message.php'); ?>
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header">
<h4>Edit Student
<a href="index.php" class="btn btn-danger float-end">BACK</a>
</h4>
</div>
<div class="card-body">
<?php
if (isset($_GET['id'])) {
$student_id = mysqli_escape_string($conn, $_GET['id']);
$sql_query = "SELECT * FROM students WHERE id='$student_id'";
$sql_run = mysqli_query($conn, $sql_query);
if (mysqli_num_rows($sql_run) > 0) {
$student = mysqli_fetch_array($sql_run);
?>
<form action="code.php" method="POST">
<input type="hidden" value="<?= $student['id']; ?>">
<div class="mb-3">
<label>Student Name</label>
<input type="text" name="name" value="<?= $student['name']; ?>" class="form-control">
</div>
<div class="mb-3">
<label>Student Email</label>
<input type="email" name="email" value="<?= $student['email']; ?>" class="form-control">
</div>
<div class="mb-3">
<label>Student Phone</label>
<input type="text" name="phone" value="<?= $student['phone']; ?>" class="form-control">
</div>
<div class="mb-3">
<label>Student Course</label>
<input type="text" name="course" value="<?= $student['course']; ?>" class="form-control">
</div>
<div class="mb-3">
<button type="submit" name="update_student" class="btn btn-primary">
Edit Student
</button>
</div>
</form>
<?php
} else {
echo "<h4>No such ID found </h4>";
}
}
?>
</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
PHP code
if(isset($_POST['update_student']))
{
$student_id = mysqli_real_escape_string($conn, $_POST['student_id']);
$name = mysqli_real_escape_string($conn, $_POST['name']);
$email = mysqli_real_escape_string($conn, $_POST['email']);
$phone = mysqli_real_escape_string($conn, $_POST['phone']);
$course = mysqli_real_escape_string($conn, $_POST['course']);
$query = "UPDATE students SET name='$name', email='$email', phone='$phone', course='$course' WHERE id='$student_id' ";
$query_run = mysqli_query($conn, $query);
if($query_run)
{
$_SESSION['message'] = "Student Updated Successfully";
header("Location: index.php");
exit(0);
}
else
{
$_SESSION['message'] = "Student Not Updated";
header("Location: index.php");
exit(0);
}
}