我正在PHP中进行添加,更新和删除。 我的更新查询不起作用 我可以知道,更新查询中我出了什么问题吗? 到目前为止,这是我的代码
<?php include "db.php" ?>
<?php include "functions.php" ?>
<?php
if(isset($_POST['submit'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$id = $_POST['id'];
$query = "UPDATE users SET ";
$query .= "username = '$username', ";
$query .= "password = '$password' ";
$query .= "WHERE id = $id ";
$result = mysqli_query($connect, $query);
if(!$result) {
die("QUERY FAILED" . mysqli_error($connect));
}
else {
echo "Record Updated";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Update DB </title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
</head>
<body>
<div class="container">
<div class="col-sm-6">
<form action="login_update.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 btn-block" type="submit" name="submit" value="UPDATE">
</form>
</div>
浏览器显示错误:QUERY FAILED您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册以获取正确的语法,以在第1行的''附近使用
答案 0 :(得分:-1)
尝试一下:
$query = "UPDATE users
SET username = '".$username."', password = '".$password."'
WHERE id = ".$id;
或更妙的是:
$stmt = $connect->prepare("UPDATE `users` SET `username`=?, `password`=? WHERE id=?");
$stmt->bind_param("ssi", $username, $password, $id);
$stmt->execute();
$stmt->close();
别忘了清理您的输入内容! Google php password_verify
答案 1 :(得分:-1)
确保$ id是否为空。这种错误通常在主键返回空值时发生。[在这种情况下,您的'$ id'变量]
$conn = mysqli_connect($servername, $username, $password,$database);
$sql = "UPDATE users SET username = '$username', password = '$password' WHERE id = $id";
$result = $conn->query($sql);
if (!$result) {
die("QUERY FAILED" . $conn->error);
} else {
echo "Record Updated";
}