۳ rahnama
مشکل در تغییر وضعیت تسک
جامعه پی اچ پی ایجاد شده در ۳۰ اردیبهشت ۱۴۰۲

روز بخیر

دلیل این ارور چی هست

1d32-Screenshot (71).png

function doneSwitch($task_id)
{
  global $pdo;
  $current_user_id = getCurrentUserId();
  $sql = "UPDATE 'tasks' set is_done = 1 - is_done where  id = :taskID and user_id = :user_id ";
  $stmt=$pdo->prepare($sql);
  $stmt->execute([':taskId'=>$task_id,':user_id'=>$current_user_id]);  //line 34
  return $stmt

این کد مربوطش هست


rahnama ۳۰ اردیبهشت ۱۴۰۲، ۱۴:۲۹

سلام محمد جان

توی کوئریتون بجای taskId: نوشتید taskID: یعنی آیدی رو با حروف بزرگ نوشتید، اون رو اصلاح کنید تا مشکلتون برطرف بشه.

یعنی کدتون میتونه به شکل زیر باشه:

//...
$sql = "UPDATE 'tasks' SET `is_done` = 1 - `is_done` WHERE `id` = :task_id AND `user_id` = :user_id";
//...
$stmt->execute([':task_id' => $task_id, ':user_id' => $current_user_id]);
بهترین پاسخ
صادق برزگر ۳۰ اردیبهشت ۱۴۰۲، ۱۴:۵۳

خیلی ممنون درست شد البته مشکل syntax دیگه ای هم بود و باید به این شکل نوشته میشد

"UPDATE tasks SET `is_done` = 1 - `is_done` WHERE `id` = :task_id AND `user_id` = :user_id"

اسم جدول (tasks) باید بدون سینگل کتیشن نوشته بشه

rahnama ۳۰ اردیبهشت ۱۴۰۲، ۱۵:۴۶