这是我正在使用的 SQL 代码:
由于某种原因,它会删除 UserID 的所有记录,但不考虑 NOT IN 数组。仅当用户 ID = 当前用户且该用户的 courseID 不在数组中时,我才需要删除它。
mysql_query("DELETE FROM tblLinkUserCourse WHERE ((UserID=$CurrentUserID) AND (CourseID NOT IN ({$new_array})))");
这是我正在使用的 SQL 代码:
由于某种原因,它会删除 UserID 的所有记录,但不考虑 NOT IN 数组。仅当用户 ID = 当前用户且该用户的 courseID 不在数组中时,我才需要删除它。
mysql_query("DELETE FROM tblLinkUserCourse WHERE ((UserID=$CurrentUserID) AND (CourseID NOT IN ({$new_array})))");
()
1)从查询中删除所有不必要的。
2)检查是否$new_array
包含您所有的 course_id 并构造为字符串。如果不构造为字符串和逗号分隔使用此代码。
$new_array = implode(',', $new_array);
mysql_query("DELETE FROM tblLinkUserCourse WHERE UserID=$CurrentUserID AND CourseID NOT IN ({$new_array})");
$new_array PHP 数组或字符串是否准备好进行查询?如果它是数组,您应该使用:
$new_array = implod(',', $new_array);
mysql_query("DELETE FROM tblLinkUserCourse WHERE ((UserID=$CurrentUserID) AND (CourseID NOT IN ({$new_array})))");
尝试:
$new_array = "'".implode("', ", $new_array)."'";
$sql = "DELETE FROM tblLinkUserCourse WHERE ((UserID=$CurrentUserID) AND (CourseID NOT IN ({$new_array})))";