$ addを値(たとえば30)として手動で宣言すると、クエリが正常に実行されます。これをuser_idセッションに設定しようとすると、クエリは失敗します。
// $add = 30;
// The line above works
$add = mysql_real_escape_string($_SESSION['user_id']);
$query = "UPDATE mytable SET act=0, add=$add WHERE id=$selected_user";
私が間違っているアイデア。