سلام من میخام اطلاعات کاربرا با php ویرایش کنم ارور زیر میده
Fatal error: Uncaught mysqli_sql_exception: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE `id` = 1' at line 1 in C:\xampp\htdocs\tamrinphp\userindex.php:135 Stack trace: #0 C:\xampp\htdocs\tamrinphp\userindex.php(135): mysqli_query(Object(mysqli), 'UPDATE `users` ...') #1 {main} thrown in C:\xampp\htdocs\tamrinphp\userindex.php on line 135```
به اون خطی که اپدیت انجام میشه ارور میگیره
<?php
if(isset($_GET['edit'])){
$id= $_GET['edit'];
$query = mysqli_query($db, "SELECT *FROM `users` WHERE id=$id");
$user= mysqli_fetch_assoc($query);
?>
<form method="POST" action="userindex.php" enctype="multipart/form-data" class="offset-lg-4 col-lg-4 offset-lg-4 bg-light text-center mt-2 pt-2 pb-3">
<div class="form-group">
<input type="hidden" class="form-control" value="<?php echo $user['id'];?>" name="id">
</div>
<div class="form-group">
<label for="exampleInputEmail1">نام کاربری</label>
<input type="text" class="form-control" name="username" id="exampleInputEmail1" aria-describedby="emailHelp" value="<?php echo $user['username'];?>" placeholder="نام کاربری ">
</div>
<div class="form-group">
<label for="exampleInputPassword1">رمز عبور</label>
<input type="password" name="password" onkeyup="checkPassword()" class="form-control" id="exampleInputPassword1" placeholder="Password">
</div>
<div class="form-group">
<label for="exampleInputPassword1">تکرار رمز عبور</label>
<input type="password" name="repassword" onkeyup="checkPassword()" class="form-control" id="exampleInputPassword2" placeholder="rePassword">
</div>
<p id="demo">پسورد و تکرار پسورد برابر نیستند</p>
<div class="form-group">
<label for="exampleInputgender1">جنسیت</label>
<select id="exampleInputgender1" name="gender" class="form-control">
<option>زن</option>
<option>مرد</option>
</select>
</div>
<div class="form-group">
<input type="hidden" name="image" value="<?php echo $user['image']; ?>">
<label for="exampleInputimage1"></label>
<input type="file" name="new-image">
</div>
<button type="submit" name="virayesh" class="btn-primary mt-3">ویرایش</button>
</form>
<?php }
if(isset($_POST['virayesh'])){
$id= $_POST['id'];
$username= $_POST['username'];
$password= password_hash($_POST['password'],PASSWORD_BCRYPT);
$repassword= $_POST['repassword'];
$gender= $_POST['gender'];
if(! empty($_FILES['new-image']['name']))
{
$image_name= $_FILES['new-image']['name'];
$image_tmp= $_FILES['new-image']['tmp_name'];
move_uploaded_file($image_tmp, "upload/".$image_name);
}else{
$image_name = $_POST['image'];
}
if(password_verify($repassword,$password)){
$virayesh= mysqli_query($db, "UPDATE `users` SET `username` = '$username', `password` = '$password', `gender` = '$gender', `image` = '$image_name' WHERE `users` WHERE `id` = $id");
if($virayesh){
header("location:index.php");
}
}else{
echo "<div class='alert alert-danger' >پسورد و تکرار پسورد برابر نیست</div>";
}
}
?>
این خط اصلاح کنید
$virayesh= mysqli_query($db, "UPDATE `users` SET `username` = '$username', `password` = '$password', `gender` = '$gender', `image` = '$image_name' WHERE id = $id");
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟