If I understood correctly (although I can't see what your data looks like) you may want something like this...
TEST DATA
TABLE: items TABLE: weapons
+----------+--------+ +----+----------+--------+-------+
| playerid | itemid | | id | playerid | weapid | level |
+----------+--------+ +----+----------+--------+-------+
| 2 | 2 | | 1 | 2 | 1 | 2 |
| 2 | 3 | | 2 | 3 | 1 | 2 |
| 2 | 4 | +----+----------+--------+-------+
| 3 | 2 |
+----------+--------+
QUERY and RESULTS (Find which players have an item that is 1 greater than current weapon level)
SELECT w.playerid
, w.weapid
, w.level
, COALESCE(i.itemid, 'You don\'t have an item for upgrade') as item
FROM weapons w
LEFT JOIN items i ON w.playerid = i.playerid
AND i.itemid = w.level + 1;
+----------+--------+-------+------------------------------------+
| playerid | weapid | level | item |
+----------+--------+-------+------------------------------------+
| 2 | 1 | 2 | 3 |
| 3 | 1 | 2 | You don't have an item for upgrade |
+----------+--------+-------+------------------------------------+