私は、ユーザのランクを見つけるために使用していたことを、ここで、このSQLクエリを持っている:ユーザーランクのクエリが突然停止しましたか?
SELECT COUNT(*) AS rank
FROM users
WHERE xp>=(SELECT xp FROM users uid='?')
AND createdate<=(SELECT createdate FROM users WHERE uid='?')
目的は、XPでユーザーをランク付けすることである - CREATEDATE。 2人のユーザーが100xpを持ち、個々のランクを割り当てる必要がある場合、その作成日は、xpが同じと判断された後にのみ比較されます。この場合、最も古い作成日のチームに上位のランクが割り当てられます。
それは私が最新のMySQLi(5.6.34)に更新した後まで完全にでした。何らかの理由で、createdateはxpより優先されているようです。
問題が私のロジックに関連しているのかどうか疑問に思っています。私はそれが意図した目的(ユーザーの一意のランクを見つける)の前にうまく動作していたので、ちょうど絶対に困惑していますが、今は作成日とXPの値に関係なくランクを無作為に割り当てるようなものです。
が、私は信じていませんが、その 'ユーザーからのuid =「1」に'これまで有効な構文です。 –
私はそれがどのように働いたとしても困惑しています。クエリが返すのはすべて数値です。私はユーザー情報を示していません。 –
これはクエリに関するものですが、明らかに '?'続いて準備された声明が続きます。 – Dylan