gpt4 book ai didi

php - 当我只想更新 1 时更新所有行

转载 作者:行者123 更新时间:2023-11-30 00:09:06 25 4
gpt4 key购买 nike

所以我有下面的代码,通过单击提交按钮时的 ID 更新数据库中的行,该代码更新数据库,但它更新所有行。

我尝试在谷歌上寻找解决方案,但到目前为止我还无法找到正确的答案。

我希望单击提交按钮只是为了更新数据库中的一行而不是所有行,但到目前为止我尝试的一切都失败了。

这是我的代码:

<?php

$whoOwns = mysql_query("SELECT * FROM `sharesbought` WHERE `for_id` = '" . $getID . "'");
while($getWhoOwns = mysql_fetch_assoc($whoOwns)) {
$aHowMany = $getWhoOwns['how_many'];
$aUsername = $getWhoOwns['username'];
$aPercentOwned = $getWhoOwns['percent_owned'];
$aPaid = $getWhoOwns['paid'];
$aID = $getWhoOwns['id'];

echo '
<tbody>
<tr>
<td><center>'. $aUsername .'</center></td>
<td><center>'. $aHowMany .'</center></td>
<td><center>'. $aPercentOwned .'%</center></td>
<td><center><a href="/percentofme/'.$aUsername.'">View Profile</a></center></td>';

if (isset($_POST['mark_as_paid'])) {
$updatePaid = mysql_query("UPDATE `sharesbought` SET `paid` = 'Yes' WHERE `id` = '". $aID ."'");

if ($updatePaid) {
header('Location: eventdisplay.php?id='. $existingID .'');
}
}

if ($getUser == $user_data['username'] && $aPaid =='No') {
echo '
<td><center><form method="post" action=""><input type="hidden" value="'. $aID .'"><button class="btn-u" name="mark_as_paid">Mark Paid</button></form></center></td>
</tr>
</tbody>';
} else {
echo '<td><center>'. $aPaid .'</center></td></td></tbody>';
}
}
?>

变量$getUser = 创建事件的人的用户名$user_data['username'] = 登录者的用户名

预先感谢您提供的任何建设性帮助。

最佳答案

您的 where 子句似乎限制性不够。它仅限制对具有 id=$aId 的行进行更新,该行似乎与多个行关联。如果您有关于支付了多少份额的信息,您可以将其添加到您的 where 子句中。

$updatePaid = mysql_query("UPDATE <code>sharesbought</code> SET <code>paid</code> = 'Yes' WHERE <code>id</code> = '". $aID ."' AND <code>share</code> = '".$share."'");

这样它只会更新 id 和 share 匹配的行。

我还建议使用准备好的语句 PHP Prepared Statements

关于php - 当我只想更新 1 时更新所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24234052/

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