Вообщем в одном кэйсе надо сделать несколько запросов, но без говнокода как то не получается )) тобишь вот такой велосипед можна оформить попроще?
<?
case 'blabla':
if (mysql_query ("DELETE FROM `garem` WHERE `usid`='$nk'") &&
mysql_query ("INSERT INTO `garem` SET `usid`='$nk', `id`='$id'") &&
mysql_query ("UPDATE `users` SET money=`money`-'$cen2' WHERE `id`='$id'") &&
mysql_query ("UPDATE `users` SET money=`money`+'$cen2' WHERE `id`='".$prov['id']."'")) {
echo 'Успешно';
} else {
echo 'Ошибка!<br/>';
}
break;
<?
case 'blabla':
if(!mysql_query ("DELETE FROM `garem` WHERE `usid`='$nk'") echo mysql_error();
elseif(!mysql_query ("INSERT INTO `garem` SET `usid`='$nk', `id`='$id'") echo mysql_error();
elseif(!mysql_query ("UPDATE `users` SET money=`money`-'$cen2' WHERE `id`='$id'") echo mysql_error();
elseif(!mysql_query ("UPDATE `users` SET money=`money`+'$cen2' WHERE `id`='".$prov['id']."'")) echo mysql_error();
else{
echo 'Успешно';
}
break;
3. TLENSi, ну и что на последнем update будет ошибка или сбой и получится так что у одного снимут а второй ничего не получит
вообще для важных операций с деньгами нужно использовать тип таблиц InnoDB
Да, лучше InnoDB, тогда можно производить откат на уровне MySQL, если же используется MyISAM, то откат предусмотреть на уровне php — каждый запрос выводить в условие
Это один из предложенных типов таблиц для хранения данных. На смену MyISAM пришел новый тип хранения данных - Maria, в котром поддершка транзакций — есть