@bone_games

Найти Значение в массиве?

Здравствуйте как при нахождении записи TXT в домене выполнить определенную функцию?
Не как не могу понять в чем проблема что только не перепробывал Записи TXT выводит нормально
Суть в том что при проверки и нахождения хэша в записи добавляло статус в базу а при отсутствии записи удаляло
Домен с базы находит
Думаю проблема где то с foreach
Извиняюсь если не правильно Сформулировал вопрос. Заранее спасибо
Весь код
$existCode = 0;
    $domain = $db->getRow('SELECT * FROM account WHERE type = ?s AND active = ?i AND edit_hash = ?s ORDER BY created_at DESC', 'domain', 0, $_GET['hash']);

 if (!empty($domain)){
        $txtRecords = dns_get_record($domain['name'], DNS_TXT);

        if (!empty($txtRecords)){

            foreach ($txtRecords as $record){

                if ($record == $domain['edit_hash']){
                    $db->query('UPDATE account SET active = ?i WHERE id = ?i', 1, $domain['id']);
                    $existCode = 1;
                    break;
                }
            }

            if ($existCode == 0){
                $db->query('DELETE FROM account WHERE id = ?i', $domain['id']);
            } else {
                $db->query('DELETE FROM account WHERE id != ?i AND name = ?s AND type = ?s', $domain['id'], $domain['name'], 'domain');
            }
        } else {
            $db->query('DELETE FROM account WHERE name = ?s AND type = ?s AND active = ?i', $domain['name'], 'domain', 0);
        }
    }
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
@haramba
Почему вопросы о про битрикс такие тупые?
потому что, как написано в документации
функция возвращает массив $txtRecords массивов $record
т.е. вы сравниваете массив $record со значением $domain['edit_hash']
Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => MX
            [pri] => 5
            [target] => pair2.php.net
            [class] => IN
            [ttl] => 6765
        )

    [1] => Array
        (
            [host] => php.net
            [type] => A
            [ip] => 64.246.30.37
            [class] => IN
            [ttl] => 8125
        )

)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы