登録ユーザーの IP が過去 30 レコードに存在するかどうかを知りたいです。これにより、複数の登録を防ぐことができます。これを mysql で実行しようとしてもうまくいきません。これは私が今のところいるところです:
すべてのレコードで複数の IP をチェックする古いクエリ:
$same_ip_count = mysql_num_rows(mysql_query("SELECT * FROM login_users WHERE ip='".$ip."'"));
失敗する新しいコード:
$same_ip_count = mysql_num_rows(mysql_query(
"SELECT 'user_id'
FROM (
SELECT *
FROM login_users
ORDER BY user_id DESC
LIMIT 30
) AS t
WHERE t.ip = '".$ip."'"));
SQLは初めてなので、現時点ではどんな提案も素晴らしいでしょう。
編集:
明確にするために、最後の 30 レコードのみを検索したいと考えています。すべてのレコードを検索して 30 件に制限したくありません。