Php 在mysql在线数据库中更新数据的最佳方法

Php 在mysql在线数据库中更新数据的最佳方法,php,android,mysql,Php,Android,Mysql,我有一个在线sql数据库,其中有几个表供用户匹配项和下注。当我更新任何游戏的结果时,我需要更新下注表中包含该游戏的所有下注的状态。因此,例如,如果我用结果更新游戏8,我需要将所有包含游戏8的赌注更新为lost、wind或仍然open 我目前的做法是,当用户打开我的android应用程序时,我使用asynctasks检索有关游戏的所有信息以及有关用户下注的所有信息。然后,我在应用程序中进行一些字符串比较,然后使用另一个异步任务更新数据库中的数据。问题是,这浪费了大量的计算时间,并使我的应用程序界面

我有一个在线sql数据库,其中有几个表供
用户
匹配项
下注
。当我更新任何游戏的结果时,我需要更新下注表中包含该游戏的所有下注的状态。因此,例如,如果我用结果更新游戏
8
,我需要将所有包含游戏
8
的赌注更新为
lost
wind
或仍然
open

我目前的做法是,当用户打开我的android应用程序时,我使用asynctasks检索有关游戏的所有信息以及有关用户下注的所有信息。然后,我在应用程序中进行一些字符串比较,然后使用另一个异步任务更新数据库中的数据。问题是,这浪费了大量的计算时间,并使我的应用程序界面滞后

作为一个对php和在线数据库经验最少的人,我想问一下,有没有一种方法可以在数据库中定期(例如每3小时一次)执行这些操作,或者在
games
表中的数据使用php文件(例如自动运行的文件)更改时执行这些操作

我试图寻找某种类型的
onDataChanged
函数,但什么也找不到。我也不知道如何在不涉及应用程序的情况下运行php文件并更新数据

我的另一个想法是创建一个非常简单的应用程序,我不会把它分发给任何人,只会在手机上保留一个更新按钮,我可以按下并触发一个php文件,为数据库中的所有用户执行这些操作

我希望有经验的人能给我一些建议


谢谢:)。

如果宿主提供商支持Cron等脚本执行器,您可以轻松地定期执行php脚本


关于多次更新游戏状态,请首先检查表引擎。如果您使用的是像InnoDB这样的引擎,您可以在这些表之间创建关系,因此更新一行的状态将影响所有连接到它们的表。

听起来像是您想要的:您现在如何更新数据库中的结果?这个过程是向其他表添加更新的一个明显的地方phpmyadmin@mankee我们是否应该假设您的应用程序直接连接到数据库并执行查询?如果是这样,如何阻止攻击者进行类似操作并执行恶意操作?听起来您需要学习一些服务器端脚本,以便验证请求并开发一些让服务器执行这些更新的方法。我的应用程序连接到服务器上的php文件,然后执行查询,这意味着他必须知道指向php文件的确切链接才能执行任何恶意操作