Добрый день. Имеется небольшой скрипт для примера
<?php
$q = mysqli_query($mysqli, 'SELECT * FROM testbase WHERE id = 1');
if(($q['count_clicks'] - 1) < 1)
{
my_query($mysqli, 'UPDATE testbase SET count_clicks = 10 WHERE id = 1');
echo 'Ты нажал первее';
}
else my_query($mysqli, 'UPDATE testbase SET count_clicks = count_clicks - 1 WHERE id = 1');
function my_query($mysqli, $query)
{
$sql = mysqli_query($mysqli, $query);
if(!$sql) error_log($log);
return $sql;
}
Суть в том, что когда остаётся последний клик и два человека запускают данный скрипт одновременно, то есть вероятность того, что им обоим может выдать "Ты нажал первее". С чем это связано и как решить эту проблему?
Версии
Веб-сервер: Apache 2.4
PHP: 7.0.30-0+deb9u1
MariaDB 10.1.26-MariaDB-0+deb9u1 - Debian 9.1
Тип таблиц: MyISAM