Ниже приведен мой очень простой код. Мне нужна помощь, потому что когда-нибудь мое заявление ниже будет обновляться дважды.
$queryCS = "Select * FROM coin_market_sell";
$resultCS=mysql_query($queryCS);
while($rowCS=mysql_fetch_array($resultCS)){
$cms_id=$rowCS['cms_id'];
$cms_by=$rowCS['cms_by'];
$cms_coin_amount_balance=$rowCS['cms_coin_amount_balance'];
$cms_coin_id=$rowCS['cms_coin_id'];
$wallet_amountnew=0;
$queryCOIN2 = "Select * FROM wallet WHERE user_id=$cms_by and currency_id=$cms_coin_id";
$resultCOIN2=mysql_query($queryCOIN2);
while($rowCOIN2=mysql_fetch_array($resultCOIN2)){
$wallet_id=$rowCOIN2['wallet_id'];
$wallet_amount=$rowCOIN2['wallet_amount'];
$wallet_amountnew=$wallet_amount+$cms_coin_amount_balance;
}
mysql_query("UPDATE wallet SET wallet_amount='$wallet_amountnew' WHERE wallet_id='$wallet_id'");
mysql_query("DELETE FROM `coin_market_sell` WHERE `coin_market_sell`.`cms_id` = $cms_id");
}
mysql_* API. Перейти к mysqli_* или PDOПожалуйста помоги мне с этим. Я вызываю непроданный баланс таблицы coin_market_sell и добавляю обратно в базу данных кошелька пользователя, но проблема в том, что иногда обновляется дважды. например, теперь пользователь Кошелек имеет 100, тогда непроданные в таблице имеют 50, предположим, что добавление будет 150 в качестве новой суммы, но он показывает 200 в базе данных, что означает 100 + 50 + 50






Я не на сто процентов уверен в том, что вы пытаетесь сделать, но я думаю, что утверждение UPDATE должно быть внутри внутреннего цикла:
$queryCOIN2 = "Select * FROM wallet WHERE user_id=$cms_by and currency_id=$cms_coin_id";
$resultCOIN2=mysql_query($queryCOIN2);
while($rowCOIN2=mysql_fetch_array($resultCOIN2)){
$wallet_id=$rowCOIN2['wallet_id'];
$wallet_amount=$rowCOIN2['wallet_amount'];
$wallet_amountnew=$wallet_amount+$cms_coin_amount_balance;
mysql_query("UPDATE wallet SET wallet_amount='$wallet_amountnew' WHERE wallet_id='$wallet_id'");
}
Кстати: Останавливаться использует устаревший mysql_* API. Перейти к mysqli_* или PDO
Пожалуйста помоги мне с этим. Я вызываю непроданный баланс таблицы coin_market_sell и добавляю обратно в базу данных кошелька пользователя, но проблема в том, что иногда обновляется дважды. например, теперь пользователь Кошелек имеет 100, тогда непроданные в таблице имеют 50, предположим, что добавление будет 150 в качестве новой суммы, но он показывает 200 в базе данных, что означает 100 + 50 + 50
Добавьте остальную часть кода... убедитесь, что $query1 не вызывается дважды