Php 获取了成功的更新消息,但数据库表中没有任何更改
[已编辑解决] 我有一个update.php文件来更改某个用户角色。我收到消息更新记录成功,但数据库表中没有更改。你能告诉我哪里错了吗。不过我对Php还是新手 更新特定用户的用户名和用户角色 update.phpPhp 获取了成功的更新消息,但数据库表中没有任何更改,php,mysql,Php,Mysql,[已编辑解决] 我有一个update.php文件来更改某个用户角色。我收到消息更新记录成功,但数据库表中没有更改。你能告诉我哪里错了吗。不过我对Php还是新手 更新特定用户的用户名和用户角色 update.php <?php require 'dbconnect.php'; if($_SERVER["REQUEST_METHOD"] == "POST") { $newUsername = mysqli_real_escape_string($conn, $_POST['usern
<?php
require 'dbconnect.php';
if($_SERVER["REQUEST_METHOD"] == "POST")
{
$newUsername = mysqli_real_escape_string($conn, $_POST['username']);
$newRole = mysqli_real_escape_string($conn, $_POST['role-dropdown']);
$id = $_POST['id'];
$sql = "UPDATE users SET username = '$newUsername', user_role = '$newRole' WHERE userID = '$id';";
if($conn->query($sql) === TRUE)
{
echo("Record updates successfully");
}
else
{
echo("Error updating record: ");
die(mysqli_error($conn));
}
}
$conn->close();
<main>
<div id="gt-menu">
</div>
<form id="user-form" class="form" method="POST" action="includes/update.php">
<h3>Edit User Role</h3>
<label for="username">Username:</label>
<input id="username" type="text" name="username" value="<?php echo $row['username']; ?>">
<input type="hidden" name="id" value="<?php echo $row['userID']; ?>">
<select class="select" id="role-dropdown" name="role-dropdown">
<option value="_Any" selected="selected">Please Choose</option>
<option value="1">Admin</option>
<option value="2">Manager</option>
<option value="3">General User</option>
<option value="4">External Company</option>
</select>
<button type="submit" name="update-btn" id="update-btn">Update</button>
</form>
</main>
您的ID没有值
<input type="hidden" name="id">
应该是这样的:
<input type="hidden" name="id" value="ID_YOU_WANT_TO_UPDATE">
您的ID没有值
<input type="hidden" name="id">
应该是这样的:
<input type="hidden" name="id" value="ID_YOU_WANT_TO_UPDATE">
使用mysqli受影响的行(连接)
而不是使用$conn->query($sql)==TRUE
使用mysqli受影响的行(连接)
而不是使用$conn->query($sql)==TRUE
我同意,这很可能是正确的。因此,查询正在成功运行,它只是,没有ID,因此没有要更新的内容。Mark Daxter应该使用mysqli\u受影响的行
查看是否有任何内容真正更新。感谢Sauav和Jonathan的帮助。我同意,这很可能是正确的。因此,查询正在成功运行,它只是,没有ID,因此没有要更新的内容。Mark Daxter应该使用mysqli\u受影响的行
来查看是否有任何内容真正更新。感谢Sauav和Jonathan的帮助。