1

这是我正在使用的 SQL 代码:

由于某种原因,它会删除 UserID 的所有记录,但不考虑 NOT IN 数组。仅当用户 ID = 当前用户且该用户的 courseID 不在数组中时,我才需要删除它。

mysql_query("DELETE FROM tblLinkUserCourse WHERE ((UserID=$CurrentUserID) AND (CourseID NOT IN ({$new_array})))");
4

3 回答 3

0

()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})");
于 2013-07-16T09:30:25.930 回答
0

$new_array PHP 数组或字符串是否准备好进行查询?如果它是数组,您应该使用:

$new_array = implod(',', $new_array);
mysql_query("DELETE FROM tblLinkUserCourse WHERE ((UserID=$CurrentUserID) AND (CourseID NOT IN ({$new_array})))");
于 2013-07-16T09:32:47.640 回答
0

尝试:

$new_array  = "'".implode("', ", $new_array)."'";
$sql        = "DELETE FROM tblLinkUserCourse WHERE ((UserID=$CurrentUserID) AND (CourseID NOT IN ({$new_array})))";
于 2013-07-16T09:33:58.053 回答