Question: I want to delete every row where the time difference is 5 minutes. I'm using time() as an int.

```
mysql_query("DELETE FROM users WHERE time()-time > 300");

```

the query is the problem...

Answer: 
Assuming the time is a column in the users table, this is what you need:

```
mysql_query("DELETE FROM users WHERE NOW() - INTERVAL 300 SECOND > time");

```

NOW() is a function that brings back the time on the DB server rather than the web server.

Just make sure the clocks on the DB server and Web server are sync'd

Here is a sample using SELECT

```
mysql> select now(),(now() - INTERVAL 300 SECOND);
+---------------------+-------------------------------+
| now()               | (now() - INTERVAL 300 SECOND) |
+---------------------+-------------------------------+
| 2011-04-15 16:21:41 | 2011-04-15 16:16:41           |
+---------------------+-------------------------------+

```
mysql\_query("DELETE FROM users WHERE time < '".(time()-300)."' ");  

and this query will be cached by mysql