ユーザーがアイテムのシェアを販売したときに更新するユーザーポートフォリオテーブルを更新しようとしています。私はヒット数を売るために必要な数の株式がなくなるまで株式から1つを差し引いています。そして、その株式の株式が0になると、その行をユーザーのポートフォリオから削除します。私はwhileループとTOPコマンドを使用しなければならないと信じています。なぜなら、ユーザーはしばしば同じアイテムを多数購入してテーブルの異なるレコードに格納するからです。私はかなり近いと思うが、実行するために私のループ内の更新または削除クエリを取得することはできません。PHPのループ中にMYSQLを更新および削除するwhileループ
while ($sharesToSell >0)
{
$sql="UPDATE TOP (1) portfolio SET shares= shares-1 WHERE
userid='".$userid."'AND songid='".$songID."';";
$result6 = $connection->query($sql);
$sharesToSell-=1;
if($sharesToSell>0)
{
$sql="DELETE FROM PORTFOLIO WHERE shares='0';";
$result7 = $connection->query($sql);
}
}
MySQLには「TOP」がありません。代わりに 'LIMIT'を使用してください。 – endo64