Php MySQL表中的Ghost递增INT字段?
在phpMyAdmin(mySQL)中发生了非常奇怪的事情 情况:Php MySQL表中的Ghost递增INT字段?,php,mysql,cron,yii,prado,Php,Mysql,Cron,Yii,Prado,在phpMyAdmin(mySQL)中发生了非常奇怪的事情 情况: 我有一个只有一个字段的表,其中包含一个名为“count”的INT值。计数最初设置为0。cron作业每小时调用一个php脚本,将“count”增加一个(SET count=count+1) 问题: 当我在phpMyAdmin中打开表,然后立即刷新浏览器时,可以观察到这个问题:我可以看到“count”在不到一秒钟的时间内增加了20倍。让它单独呆上一分钟,然后再次刷新浏览器,这表明它已经增加了数百倍!是否有无休止的循环在某处调用我的c
我有一个只有一个字段的表,其中包含一个名为“count”的INT值。计数最初设置为0。cron作业每小时调用一个php脚本,将“count”增加一个
(SET count=count+1)
问题:当我在phpMyAdmin中打开表,然后立即刷新浏览器时,可以观察到这个问题:我可以看到“count”在不到一秒钟的时间内增加了20倍。让它单独呆上一分钟,然后再次刷新浏览器,这表明它已经增加了数百倍!是否有无休止的循环在某处调用我的cron作业并递增“count”?(我不这么认为,因为我更新了crob php脚本,在它被调用时给我发电子邮件,而我没有收到任何调用…) 有人发生过类似的事情吗 CRON字符串:
*/15 * * * * /usr/bin/php -q /home/account_name/cron/cron.php test
php脚本:<?php
class TestCommand extends CConsoleCommand {
private $connection;
public function run($args) {
// Increment counter
$this->connection=Yii::app()->db;
$sql="UPDATE count_converts SET count=count+1 WHERE id=1";
$command=$this->connection->createCommand($sql);
$command->execute();
}
}
?>
更新:谜团已解开:发现这是由于其他地方的for循环嵌套错误(两个循环都使用$i).为什么在cron字符串中有一个
和一个换行符?换成
*/15****/usr/bin/php-q/home/account_name/cron/cron.php test你可以发布你的cron字符串吗?代码或者它没有发生仅仅因为脚本没有发送邮件,你并不意味着它没有运行-它可能在到达电子邮件阶段之前退出/退出。请完整的MySQL查询。请使用PHP脚本。在mysql中执行一个
show processlist
,查看其他连接是否打开。谢谢您的回答。但是,调用cron作业时没有问题。(真正的cron字符串中没有实际的换行符——我的文本格式不好。)@Eric这是什么真正的问题?