Почти, но не совсем - вот один способ, которым это могло бы работать
$ids="'".implode("','",$id_array)."'";
$sql="SELECT * FROM myTbl WHERE category_id IN($ids)";
Который должен выводить что-то вроде:
SELECT * FROM myTbl WHERE category_id IN('1', '2', '3', '4', '5', '6');
Обратите внимание, что, поскольку поле является числовым, кавычки не нужны, но это полезный код, строящий списки строк в кавычках. В вашем случае вы могли бы упростить до
$ids=implode(',',$id_array);
(я предполагаю, что массив не пустой, элементы массива очищены и т. Д. Для ясности!)