当我尝试使用PHP更新数据库中的表时,出现以下错误。
查询失败您的SQL语法有误;查看手册 对应于您的MariaDB服务器版本的正确语法 在第1行的“”附近使用
(第一行是我的查询开始的地方)
我已经得出结论,这与"id"
有关,但我不知道该怎么办。如果我将其硬编码为"WHERE id = 1"
,则可以使用,但实际上似乎无法读取ID。
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($connection, $query);
if(!$result) {
die("QUERY FAILED" . mysqli_error($connection));
}
}
这是我用于ID的HTHML:
<form action="login_update.php" method="post">
<div class="form-group">
<select name="id" id="">
<?php
global $connection;
$query = "SELECT * FROM users";
$result = mysqli_query($connection, $query);
if(!$result){ //om result inte är TRUE then die()
die('Query failed ' .mysqli_error());
}
while($row = mysqli_fetch_assoc($result)){
$id = $row['id'];
echo "<option value=''>$id</option>";
?>
</select>
</div>
<input class="btn btn-primary" type="submit" name="submit" value="Update">
</form>
我在本地主机上运行它,因此不需要任何哈希,并且与数据库的连接工作正常。
答案 0 :(得分:0)
添加这样的查询:
$query .= "WHERE id = '$id' ";
答案 1 :(得分:-1)
添加值以选择框选项
echo "<option value='$id'>$id</option>";