gpt4 book ai didi

php - 更新脚本使计数器加倍

转载 作者:行者123 更新时间:2023-11-29 13:54:04 25 4
gpt4 key购买 nike

我有这个小脚本来更新报告计数器

    /*********************************
* Report an ad as inappropriate
* This happens when a user click
* the "Report ad" link on the ad
* view page.
*
* The ad can then be reviewed
* and disabled.
*
* @param int | The ad id
*********************************/
function report_ad($aid) {
$row = $this->db->dbh->query('UPDATE '. $this->config->db_prefix .'_adverts SET been_reported = 1, num_reports = num_reports + 1 WHERE aid = '.$aid.'');
$row->execute();
}

这个 jQuery 来处理链接点击

$("#report-ad").click(function(){

var conf = confirm("Do you want to report this ad as inappropriate?");
var aid = {$smarty.get.aid}

if(conf == true) {
$.ajax({
url: 'reportad.php',
type: 'post',
data: {literal}{aid: aid}{/literal},
success: function(data) {
alert("The ad has been reported as inappropriate");
},
error: function(data) {
alert("An error occured");
}
});
}
return false;
});

reportad.php 仅包含以下内容:

$adverts = new Adverts();
$adverts->report_ad($_POST["aid"]);

出于某种原因,它会将 num_reports 更新为 2,因此如果它是 1,它将变为 3,然后变为 5,依此类推。我看不出问题出在哪里。

最佳答案

帮助我们帮助您:追踪错误发生的位置:

  • 如果手动执行查询会怎样?还+2? (只要设置了 was_reported,存储过程就会递增)?
  • 函数是否被调用多次?如果您是 php 调试新手,

    邮件('me@host.com', '消息');

这种做法不好,但做起来很快。 (还可以检查 file_put_content() 以获取简单的非基于对象的日志记录)。

另外,后面是不是少了一个分号

var aid = {$smarty.get.aid}

问候

编辑:不确定 query() 是否执行准备好的语句,或者直接运行查询?在这种情况下,query() 和execute() 将是您寻找的双份啤酒。

关于php - 更新脚本使计数器加倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16167036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com