@HardBIT

Как правильно слать MySQL запрос?

У меня есть код, и таблица бд.
<? 
@mysql_connect("localhost", "u0094975_1". "v8732rggg")

or die(mysql_error();

@mysql_select_db("u0094975_1") or die("Could not select company database!");

// —оздать запрос

$strSQL = "UPDATE dle_users SET money=money+1 WHERE name = 'HardBIT'" or die ("error");
	// SQL-оператор выполняется
mysql_query($strSQL);

mysql_close( );
?>

Его задача обновить данные в бд и присвоить им значение +1, подключение и выбор бд идент норм, ошибок никаких нет, но бд проверяю и ничего не обновляеться. Хотя в самой бд слал sql запрос и все выполняеться. Что делать?
  • Вопрос задан
  • 272 просмотра
Пригласить эксперта
Ответы на вопрос 2
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
НИКОГДА нельзя делать так как написал Дмитрий
При конкурентных запросах получится каша и потерянные значения.

Вариант 1:
Делать update set money = money + 1 как было написано изначально

Вариант 2:
mysqli_query($db, 'start transaction');
mysqli_query($db, " SELECT `money` FROM `dle_users` WHERE `name`='HardBIT' FOR UPDATE");
...
mysqli_query($db, " UPDATE `dle_users` SET `money` = ... ");
mysqli_query($db, "COMMIT");
Ответ написан
Комментировать
$money = $money+1;

Запрос:

"UPDATE `dle_users` SET `money`='".$money."' WHERE name = 'HardBIT' "
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы