gpt4 book ai didi

php - 当我希望它更新多行时,MySQL 只更新 1 行,并且 WHERE 子句允许同时更新

转载 作者:行者123 更新时间:2023-11-29 00:58:18 25 4
gpt4 key购买 nike

所以这个请求的目的是获取你发送的好友请求,然后将他们在好友请求表中的状态设置为“1”,表示请求已收到但尚未回复。这是代码:

if (isset($_POST['username'])) {
$username = $_POST['username'];
}
$statesent = 0;
$statepending = 1;

$connect = mysql_connect("localhost", "root". "");
mysql_select_db("TagDB");

$query = mysql_query("SELECT firstname, lastname, username FROM tagusers
INNER JOIN friendtable ON tagusers.username = friendtable.userA
WHERE friendtable.userB = '$username' AND friendtable.state = '$statesent'");

while ($e = mysql_fetch_assoc($query)) {
$output[] = $e;
}

$output = json_encode($output);

print $output;

$requestsgot = mysql_query("UPDATE friendtable SET state = '$statepending' WHERE (userB = '$username' AND state = '$statesent')");

此代码可以很好地检索请求,但仅更新单行数据,其中 userB 列值 = 用户名 POST,状态 = 0。我有不止一个满足这两个要求的数据。知道为什么它只给我一个吗?我检查了错别字,没有错别字,此外,如果存在错别字,我将无法同时收到这两个请求(我确实做到了)。更奇怪的是,当我将请求从代码底部移动到中间时,直接在 $query 之后,它将更新它在我发布的位置更新的行的相反行。这是一个奇怪的。感谢您的帮助。

最佳答案

替换 UPDATE friendtable SET state = '$statepending' WHERE (userB = '$username' AND state = '$statesent')

SELECT * from friendtable WHERE (userB = '$username' AND state = '$statesent')

并查看返回了多少条记录。

关于php - 当我希望它更新多行时,MySQL 只更新 1 行,并且 WHERE 子句允许同时更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4975237/

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