My guess is you need to do two comparisons like this:
SELECT
*
FROM
pl_tab
WHERE
pal_num in (".$weights.")
AND lt_num in (".$weights.");
You can't say column1 and column2 = 3
for example. If you want rows where both are equal to 3, you would need to use column1=3 and column2=3
in your query.
Also, you might want to have a read of this Q&A that I wrote a while back which covers off a lot of basic SQL queries and expands from there.
Edit:
If you have $weights
in the query, you do set it somewhere, or do you want it to be what is in your variables you show here:
$weights = $_POST['pal_num'];
$weights = "'".implode("','",$_POST['pal_num'])."'";
Is this what you meant?