此查询是否存在任何明显问题? Rand()可以用于连接吗?
$sql_result = mysql_query("
SELECT p.name as propname, p.city, p.id, m.name, m.overall_XP
FROM properties p INNER JOIN mobsters m ON p.owner = m.id
WHERE p.owner != '$id' AND m.level > '100'
AND m.gang != '$gang_id' ORDER BY RAND() LIMIT 0, 1", $db);
答案 0 :(得分:2)
你试过吗?如果您发布诸如“这是我的查询Y而我收到错误X”这样的问题,您会发现在SO上获得最佳答案。我做错了什么?
但是在回答你的问题(某种程度上)时,很多人建议在MySQL中使用RAND(),因为MySQL的作用是将随机数应用于结果集中的每一行。随着结果集变大,它可以很快开始耗尽您的性能。我们有一个解决方法(您可以在PHP中实现)here
答案 1 :(得分:0)
您应该尝试回显mysql_query:
echo "SELECT p.name as propname, p.city, p.id, m.name, m.overall_XP FROM properties p INNER JOIN mobsters m ON p.owner = m.id WHERE p.owner != '$id' AND m.level > '100' AND m.gang != '$gang_id' ORDER BY RAND() LIMIT 0, 1";
exit;
然后将其粘贴到phpMyAdmin中以查看是否存在任何问题/错误。
答案 2 :(得分:0)
我认为你的问题是合乎逻辑的,它是在你的查询结构中,因为我没有看到任何错误。您确定使用的是正确的连接字段,还是您确定不正确地限制结果?