我有一个MySQL查询,看起来像这样:MYSQL:查询只处理一个值?
$query = "SELECT * FROM users
JOIN signup ON users.uid = signup.uid
JOIN jobs ON users.category_id = jobs.id
JOIN lclasses ON users.class = lclasses.class_id
JOIN degrees ON users.degree_id = degrees.degree_id
JOIN trades ON users.trade_id = trades.trade_id
JOIN tradestatuses ON users.trade_status = tradestatuses.status_id
WHERE users.uid='{$id}' LIMIT 1";
如果$ ID = 8,那么我的查询将返回正常。如果我尝试使用其他数据库中的其他标识,则会得到一个空的结果集。
我在phpMyAdmin中测试了查询并获得了相同的结果。当我使用不同的数字时,在查询中没有错误,只是一个空的结果集,但我可以在浏览部分查看右边的行。我的表损坏了吗?任何人都有类似的事情发生在他们身上?
ID是直线上升的数字1,2,3,4,5,6,7,8,9,10,11等... – ReX357
任何表中是否有空值? 'JOIN'是一个内部连接,所以null可以把事情搞砸。 – waiwai933
将您的JOIN更改为LEFT JOIN并在输出中查找意外的NULL。 –