gpt4 book ai didi

php - 如何在Mysql中设置更新查询之间的延迟,以便每个查询都能成功执行?

转载 作者:行者123 更新时间:2023-11-29 09:12:37 24 4
gpt4 key购买 nike

我必须使用 for 循环对不同参数执行多个 UPDATE 查询。现在的问题是,每当我这样做时,只有最后一个查询被执行,所有以前的查询似乎都被跳过。

foreach ($flagSet as $controlDoc => $controlFlag)
{
for ($t = 0; $t < count($controlFlag); $t++)
{
$userLevel = "controller";
$docFlag = 1;
$postfix = "created";
$createDoc->updateFlags($controlFlag[$t], $docFlag, $controlDoc, $postfix, $userLevel);
$docFlag = 2;
$postfix = "midlevel";
$createDoc->updateFlags($controlFlag[$t], $docFlag, $controlDoc, $postfix, $userLevel);
}
}

被调用的函数

$query = "UPDATE tbl_docuserstatus SET";

if($flag != "")
{
$query .= " docseeflag_" . $postfix . " = '" . $flag . "'";
}

$query .= " WHERE doc_id = '" . $doc_id . "' AND user_id = '" . $user_id . "'";

if($userLevel == "midlevel")
{
$query .= " AND doc_midlvluser = '1'";
}
elseif ($userLevel == "finalLevel")
{
$query .= " AND doc_finallvluser = '1'";
}
elseif ($userLevel == "creator")
{
$query .= " AND doc_creator = '1'";
}
elseif ($userLevel == "controller")
{
$query .= " AND doc_controller = '1'";
}
elseif ($docarchive == 1)
{
$query .= " AND doc_controller = '1'";
}

有人可以告诉我,如何在Mysql中设置更新查询之间的延迟,以便每个查询都能成功执行吗?

最佳答案

没有必要加延迟,应该还有其他错误。 (就像@Charles 在评论中所说)。

您应该做的,以及我对当前代码的建议,就是回显您正在执行的所有查询,并验证它们是否正确。不仅要查看它们,还要在 mysql 客户端(命令行、phpmyadmin 等)中执行它们。

如果它们执行正确,请检查您的 PHP 代码是否在正确的时刻运行所有查询:它是否真正执行您正在构建的查询字符串?

关于php - 如何在Mysql中设置更新查询之间的延迟,以便每个查询都能成功执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5139132/

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