【问题标题】:Why is the mysqli query submitting twice to a database?为什么 mysqli 查询向数据库提交两次?
【发布时间】:2013-08-14 12:49:13
【问题描述】:
if (!$mysqli->query("UPDATE custom_fav SET credits = credits + 1 WHERE user_id = $current")) {
    echo "Credit addition failed: (" . $mysqli->errno . ") " . $mysqli->error;
} else {
    echo 'hi';
}

有人知道为什么 mysqli 查询会一直运行两次吗?

我得到了 1 个 echo 语句,但我得到 + 2 而不是 1 被添加到数据库中。

例如,我将其更改为 5,然后将 10 添加到数据库中。

【问题讨论】:

  • 请在上面和下面包含一些代码。
  • 您所拥有的一切都不会导致您所描述的副作用。正如答案所说,您必须以某种方式调用此代码两次。

标签: php database mysqli increment


【解决方案1】:

您很可能会调用此脚本两次。这个脚本是通过自制的 SEO 友好 URL 调用的吗?那就不要让它充当 404 处理程序。

【讨论】:

  • 好的,我会检查我的 chrome 网络选项卡,看看它是否正在加载页面两次,然后我会发回。
  • 好的,我已经检查过了,是的,页面加载了两次,但我注意到页面必须加载两次才能使我尚未创建的其他内容正常工作,有没有办法可以即使通过 jquery 再次加载页面,也让它运行一次。
  • 我将把我的脚本放到另一个文件中,并在用户输入时使用 ajax 运行脚本,这样它就不能运行两次了。
  • 很遗憾,经过几个小时的艰苦调试,我才意识到这一点。
  • @AdamLesniak 它给了你一个宝贵的东西作为交换——实践经验。在自己的尝试和错误中学习是无法与仅阅读他人的学习相比的。这里的人太多了,没有真正的知识,只是一个接一个地重复,没有真正的了解。所以,我宁愿赞美这些时间也不愿责备:)
猜你喜欢
  • 2018-12-25
  • 2014-01-28
  • 2016-01-25
  • 1970-01-01
  • 2012-02-21
  • 1970-01-01
  • 1970-01-01
  • 2017-01-12
  • 1970-01-01
相关资源
最近更新 更多