paradox
2 سال پیش توسط paradox مطرح شد
2 پاسخ

مشکل در ویرایش کاربر

سلام من میخام اطلاعات کاربرا با 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>";
    }

}
?>

ثبت پرسش جدید
Paradox
تخصص : در حال یادگیری
@paradox 2 سال پیش مطرح شد
0

این خط اصلاح کنید

    $virayesh= mysqli_query($db, "UPDATE `users` SET `username` = '$username', `password` = '$password', `gender` = '$gender', `image` = '$image_name'  WHERE id = $id");

paradox
@wxyz4367 2 سال پیش مطرح شد
0

حل شد ممنون


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام