Не работает самописная функция
Всем привет, новый день - новая проблема, а значит и новый офигенный пост на 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, если нет - создаётся. Проблема же в том, что при работе в файлах, где она уже вызывается для выполнения своей роли она возвращает единичку и код работает дальше, но записи в базу не следует.