Не работает самописная функция

Всем привет, новый день - новая проблема, а значит и новый офигенный пост на sof.

Создал функцию для защиты от массовых регистраций с одного ip, ниже код:

function free_addr_checker($link, $addr, $date) {
  $free_addr_checker = "SELECT * FROM `ips` WHERE `user_addr` = '$addr'";
  $free_addr_check_request = mysqli_query($link, $free_addr_checker);
  $free_addr_check_result = mysqli_num_rows($free_addr_check_request);
  if ($free_addr_check_result = 0) {
    $addr_add = "INSERT INTO `ips` (`user_addr`, `signin_date`, `num_connections`) VALUES ('$addr','$date','1')";
    mysqli_query($link, $addr_add);
    $code = 1;
  } else {
    $addr_checker = "SELECT `signin_date`, `num_connections` FROM `ips` WHERE `user_addr` = '$addr'";
    $addr_check_request = mysqli_query($link, $addr_checker);
    $addr_check_result = mysqli_fetch_assoc($addr_check_request);
    if ($addr_check_result['signin_date'] <= $date + 60 * 60 * 24) {
      if ($addr_check_result['num_connections'] < 8) {
        $num_connections = $addr_check_result['num_connections'] + 1;
        $num_connections_add = "UPDATE `ips` SET `num_connections` = '$num_connections', WHERE `user_addr` = '$addr'";
        mysqli_query($link, $num_connections_add);
        $code = 1;
      } else {
        $code = 0;
      }
    } else {
      $new_date_add = "UPDATE `ips` SET `signin_date` = '$date', `num_connections` = '1', WHERE `user_addr` = '$addr'";
      mysqli_query($link, $new_date_add);
      $code = 1;
    }
  }
  return $code;
}

Как из него (кода) можно понять - в функцию передаётся соединение mysqli в виде переменной $link, ip'шка в переменной $addr и юниксовое время в виде переменной $date. Дальше по базе ищется такой ip, если находится и в тот-же день - делается +1, если нет - создаётся. Проблема же в том, что при работе в файлах, где она уже вызывается для выполнения своей роли она возвращает единичку и код работает дальше, но записи в базу не следует.


Ответы (0 шт):