Вы заключаете запрос в одинарные кавычки.И в одинарных кавычках интерполяция переменных (также называемая подстановкой) не происходит.
Простой пример:
$who = 'harry potter';
echo 'hi "$who"'; // prints hi "$who"
echo "hi '$who'"; // prints hi 'harry potter'
Измените свой код следующим образом:
$test = $db->query("update games set played = played + 1 where id = '$gid'");
Также из строки: $gid = (int) stripslashes($_POST['id']);
ясно, что $gid
является целым числом инет необходимости заключать его в кавычки в вашем запросе.Итак, имеем:
$test = $db->query("update games set played = played + 1 where id = $gid");