روز بخیر
دلیل این ارور چی هست
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
این کد مربوطش هست
سلام محمد جان
توی کوئریتون بجای 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) باید بدون سینگل کتیشن نوشته بشه