【发布时间】:2021-10-03 20:48:39
【问题描述】:
我正在建立一个 PHP 网上商店,在购物过程的感谢页面上,支付服务提供商可能尚未发送支付状态/取消的结果。
因此,当从 SHOP_PAYMENTS 检索该状态时,更新的记录可能还没有。
查询很简单:
$check_status = "SELECT * FROM SHOP_PAYMENTS WHERE order_id = '$orderID' AND status <> ''";
当 status 没有结果时(我们有 order_id),我想延迟重复一次:比如每 2 秒重复一次,最多重复 3 次。
当然,当发现任何状态时,打破并给出结果。
我知道SELECT REPEAT() 存在(并尝试过),但它只会连续触发 3 次。
有没有其他方法可以做到这一点?
【问题讨论】:
-
您很可能面临严重的 SQL 注入漏洞,因为您已将 PHP 变量直接连接到查询字符串中 - 您确实应该使用准备好的语句和参数化查询来正确安全地将 PHP 变量值插入您的查询。
-
无论如何,您能否分享您描述为minimal reproducible example 的尝试代码?如果我们知道您迄今为止尝试过的内容以及不符合您要求的内容,这将极大地帮助您获得一些具体的、可操作的建议/解决方案。 How to Ask
-
对不起,写成这样是为了让它看起来尽可能简单。
-
您的选择会产生错误。你必须选择一些东西,不是
select from,而是select col1,col2 from或select * from -
@KJS 看起来 esqew 提供了对否决票的解释。前提是您在询问之前已研究并尝试解决问题。见How much research effort is expected of Stack Overflow users?