我正在尝试建立一个cms系统,管理员可以随时更改已注册用户的ID。此功能可带来所有用户数据。该文件的名称是funstions.php。
function showAllData() {
global $connection;
$query = "SELECT * FROM users";
$result = mysqli_query($connection, $query);
if(!$result) {
die('Query FAILED' . mysqli_error($con));
}
while($row = mysqli_fetch_assoc($result)) {
$id = $row['id'];
echo "<option value='$id'>$id</option>";
}
这是带有表单的页面。该文件的名称是login_update.php。
<?php
include 'db.php';
include 'functions.php';
updateTable();
?>
<div class="container">
<div class="col-xs-6">
<form action="index.php" method="post">
<div class="form-group">
<label for="username">Username</label>
<input type="text" name="username" class="form-control">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" name="password" class="form-control">
</div>
<div class="form-group">
<select name="id" id="">
<?php
showAllData();
?>
</select>
</div>
<input class="btn btn-primary" type="submit" name="submit" value="Update">
</form>
</div>
</div>
这是更新ID的功能。
function updateTable() {
if (isset($_POST['submit'])) {
global $con;
$username = $_POST['username'];
$password = $_POST['password'];
$id = $_POST['id'];
$query = "UPDATE users SET username = '$username', password = '$password' WHERE id = $id ";
$result = mysqli_query($con, $query);
if (!$result) {
die("QUERY FAILED" . mysqli_error($con));
} else {
echo "Record Updated";
}
}
}
问题是,当您提交更改时,该功能不起作用,并且在浏览器中抛出错误消息。
注意:未定义的索引:第28行的C:\ xampp \ htdocs \ loginapp \ functions.php中的ID 查询失败您的SQL语法有误;检查与您的MariaDB服务器版本相对应的手册,以找到在第1行的''附近使用的正确语法。
我发现问题在于,updateTable函数无法识别$ _POST ['id'],但通常它应该使用..p作为名称。
答案 0 :(得分:0)
将代码更改为以下代码。如果有效,则可能是您的数据库有问题。
<div class="container">
<div class="col-xs-6">
<form action="index.php" method="post">
<div class="form-group">
<label for="username">Username</label>
<input type="text" name="username" class="form-control">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" name="password" class="form-control">
</div>
<div class="form-group">
<select name="id" >
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
</div>
<input class="btn btn-primary" type="submit" name="submit" value="Update">
</form>
</div>
</div>
答案 1 :(得分:0)
错误本身描述了这里的问题。
这里要测试的东西很少
以上其中一项将为您提供解决问题的方法。
祝你好运