Я пытаюсь обновить таблицу MySQL через php-форму и функцию обновления. Я читал другие вопросы о переполнении стека и пробовал разные подходы, но не могу обновить таблицу.
Я настроил страницу формы под названием edit.php . Страница формы получает идентификационный номер, переданный через URL-адрес с предыдущей связанной страницы.
Когда я нажимаю кнопку Отправить, она переходит на страницу update.php , предназначенную для обработки информации ивставьте его в таблицу, но данные не будут вставлены в таблицу.
Я просмотрел различные учебные пособия и другие вопросы, задаваемые по переполнению стека, и достиг стадии, когда я не получаю ошибку SQL, нотаблица не обновляется.
Я не получаю сообщение об ошибке даже при добавлении рекомендуемых строк кода. Он говорит, что он успешен, но таблица не изменена.
Я попробовал команду через phpMyAdmin, и она обновит таблицу.
edit.php
<?php
include($_SERVER['DOCUMENT_ROOT']."/advantage/config.php");
//getting id from url
$id = $_GET['id'];
//selecting data associated with this particular id
$result = mysqli_query($conn, "SELECT * FROM user WHERE id=$id");
while($res = mysqli_fetch_array($result))
{
$name = $res['username'];
$password = $res['password'];
$email = $res['email'];
$role = $res['role'];
$tclass = $res['tclass'];
$displayname = $res['displayname'];
$url = $res['url'];
}
?>
<?php include("admintopbut.php"); ?>
<div class="row">
<div class="col-sm-12 col-xs-12">
<div class="contact-form">
<form action="update.php" method="post">
<div class="form-group has-feedback">
<label for="id">ID</label>
<input type="text" class="form-control" id="id" name="id" disabled value="<?php echo $id;?>" />
<i class="fa fa-user form-control-feedback"></i>
</div>
<div class="form-group has-feedback">
<label for="name">Username*</label>
<input type="text" class="form-control" id="username" name="username" value="<?php echo $name; ?>" required>
<i class="fa fa-user form-control-feedback"></i>
</div>
<div class="form-group has-feedback">
<label for="password">Password*</label>
<input type="text" class="form-control" id="password" name="password" value="<?php echo $password; ?>" required>
<i class="fa fa-user form-control-feedback"></i>
</div>
<div class="form-group has-feedback">
<label for="email">Email*</label>
<input type="email" class="form-control" id="email" name="email" value="<?php echo $email; ?>">
<i class="fa fa-envelope form-control-feedback"></i>
</div>
<div class="form-group has-feedback">
<label for="subject">Role*</label>
<input type="text" class="form-control" id="role" name="role" value="<?php echo $role; ?>" required>
<i class="fa fa-hospital-o form-control-feedback"></i>
</div>
<div class="form-group has-feedback">
<label for="subject">Tier Class*</label>
<input type="text" class="form-control" id="tclass" name="tclass" value="<?php echo $tclass; ?>">
<i class="fa fa-hospital-o form-control-feedback"></i>
</div>
<div class="form-group has-feedback">
<label for="subject">Display Name*</label>
<input type="text" class="form-control" id="displayname" name="displayname" value="<?php echo $displayname; ?>" required>
<i class="fa fa-hospital-o form-control-feedback"></i>
</div>
<div class="form-group has-feedback">
<label for="subject">URL Redirect (/advantage/access/loading.php)</label>
<input type="text" class="form-control" id="url" name="url" value="<?php echo $url; ?>">
<i class="fa fa-hospital-o form-control-feedback"></i>
</div>
<input type="submit" value="Submit" name="submit" class="btn btn-default btn-lg margin-clear">
</form>
</div>
</div>
<div class="col-md-12">
<div class="separator"></div>
<?php
include($_SERVER['DOCUMENT_ROOT']."/advantage/config.php");
$sql = "SELECT * FROM user";
$result = $conn->query($sql);
?>
<table class="table table-striped table-colored table-hover">
<thead>
<tr>
<th>ID</th>
<th>User Name</th>
<th>Password</th>
<th>Email</th>
<th>Role</th>
<th>Tier Class</th>
<th>Display Name</th>
<th>URL</th>
</tr>
</thead>
<?php
//Fetch Data form database
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
?>
<tbody>
<tr>
<td><?php echo $row['id']; ?></td>
<td><?php echo $row['username']; ?></td>
<td><?php echo $row['password']; ?></td>
<td><?php echo $row['email']; ?></td>
<td><?php echo $row['role']; ?></td>
<td><?php echo $row['tclass']; ?></td>
<td><?php echo $row['displayname']; ?></td>
<td><?php echo $row['url']; ?></td>
</tr>
</tbody>
<?php
}
}
else
{
?>
<tr>
<th colspan="2">There's No data found!!!</th>
</tr>
<?php
}
?>
</table>
</div>
</div>
update.php
<?php
// including the database connection file
include($_SERVER['DOCUMENT_ROOT']."/advantage/config.php");
if(isset($_POST['submit']))
{
$id = $_POST['id'];
$username = mysqli_real_escape_string($_POST['username']);
$password = mysqli_real_escape_string($_POST['password']);
$email = mysqli_real_escape_string($_POST['email']);
$role = mysqli_real_escape_string($_POST['role']);
$tclass = mysqli_real_escape_string($_POST['tclass']);
$displayname = mysqli_real_escape_string($_POST['displayname']);
$url = mysqli_real_escape_string($_POST['url']);
//updating the table
//$result = mysqli_query($mysqli, "UPDATE user SET name='$name',password='$password',email='$email',role='$role',tclass='$tclass',displayname='$displayname',url='url' WHERE id=$id");
$sql = "UPDATE user SET username='{$username}',password='{$password}',email='{$email}',role='{$role}',tclass='{$tclass}',displayname='{$displayname}',url='{$url}' WHERE id='$id';"; //"UPDATE product_list SET product_name = '$product_name', product_category = '$product_category' WHERE product_id = $product_id"
//redirectig to the display page. In our case, it is index.php
//header("Location: index.php");
if(mysqli_query($conn,$sql)){
echo '<div class="alert alert-icon alert-success" role="alert">';
echo '<i class="fa fa-check"></i>';
echo 'Records edited successfully. <a href="viewuser.php" class="alert-link">View User Table</a>';
echo '</div>';
} else{
echo '<div class="alert alert-icon alert-danger" role="alert">';
echo '<i class="fa fa-check"></i>';
echo "ERROR: Could not able to execute $sql. " . mysqli_error($conn);
echo '</div>';
}
// Close connection
mysqli_close($link);
}
?>
Как только я нажму на кнопку отправить, я получу сообщение с подтверждением в конце кода update.php . Я не получаю сообщение об ошибке, но изменения не отражены в таблице.