Это даст вам только массив с первой строкой в вашей таблице сопоставления, то есть он будет содержать 1 и 20 (категория и продукт).
$ in = mysql_fetch_array ($ current_sql);
Вы хотели бы пройтись по нему, чтобы получить все категории, чтобы получить правильную функциональность. НО:
Вам лучше объединить ваши product_categories в один и тот же запрос и оставить какое-то логическое значение, чтобы указать, какие из них уже выбраны. То, как вы делаете это сейчас, вообще не сработает.
SELECT c.*, IFNULL(pc.category, 0, 1) as checked FROM `categories` c
LEFT JOIN `product_categories` pc ON pc.category = c.ID AND product = {$_GET['id']}
тогда вы можете проверить
if ($resultset['checked'])
Потому что это будет 1, если часть product_category, и 0, если нет.
Но не забудьте уйти от своих параметров или использовать подготовленные утверждения, как кто-то предложил в комментариях.