[英]MySQL is only updating 1 row when I want it to update more than one, and the WHERE clause allows for both to be updated
因此,此請求的目的是獲取您已發送的好友請求,然后將其在好友請求表中的狀態設置為“ 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')
並查看返回了多少條記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.