2011-12-18 25 views
1

这是我的按钮点击调用的PHP页面。显示按钮点击创建mysql事件,每5分钟删除第一行表?

<?php 
$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password=""; // Mysql password 
$db_name="parth"; // Database name 



$con = mysql_connect("localhost","root","") or die('Could not connect to MySQL server: ' . mysql_error()); 
//echo"Connected to MySQL server"; 
mysql_select_db("parth") or die('Could not connect to database' . mysql_error()); 
//echo "Connected to Database"; 



$sql="CREATE EVENT gold ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 3 SECOND 
DO 
DELETE FROM table LIMIT 1;"; 
mysql_query($sql); 
echo "done"; 
?> 

回声消息“完成”,但事件查询没有得到执行。我也给予了特权。 刚刚使用3秒进行开发。

+0

是什么'mysql_query'返回? – Mat 2011-12-18 13:30:18

+0

其定义查询创建事件...如果不执行,可能会出现错误 – 2011-12-18 13:33:22

+0

_什么是mysql_query返回?_请检查返回码。如果返回值是** false **请使用'mysql_error'。 – Mat 2011-12-18 13:34:20

回答

1

试试这个:

<?php 
error_reporting(E_All); 
$sHost = "localhost"; 
$sUsername = "root"; 
$sPassword = ""; 
$sDb = "parth"; 

$con = mysql_connect($sHost, $sUsername, $sPassword) or die('Could not connect to MySQL server: ' . mysql_error()); 
echo"Connected to MySQL server"; 

mysql_select_db($sDb) or die('Could not connect to database' . mysql_error()); 
echo "Connected to Database"; 

$sResult = mysql_query("CREATE EVENT gold ON SCHEDULE EVERY 3 MINUTE STARTS CURRENT_TIMESTAMP + INTERVAL 3 SECOND DO DELETE FROM table LIMIT 1;") or die(mysql_error()); 
echo "Done"; 
+0

Thanx micha !!现在它的执行,但事件查询只执行一次,并且它不会重复执行 – 2011-12-18 14:11:41

+1

@Parth mehta它只会被删除一次,因为您使用了'AT' keywork,如果您希望每3分钟执行一次,请使用'EVERY 3 MINUTE STARTS CURRENT_TIMESTAMP'。检查手册:http://dev.mysql.com/doc/refman/5.1/en/create-event.html – piotrekkr 2011-12-18 14:28:27

+0

谢谢piotrekkr! – 2011-12-18 15:03:43