За последние 24 часа нас посетили 21895 программистов и 984 робота. Сейчас ищут 632 программиста ...

Как остановить выполнение скрипта, если переменная вернула пустое значение

Тема в разделе "PHP для новичков", создана пользователем Евгений Порощай, 19 янв 2021.

  1. Евгений Порощай

    С нами с:
    19 янв 2021
    Сообщения:
    12
    Симпатии:
    0
    Есть код отправки email, который отправляет значение переменной $message письмом
    В саму переменную значения попадают из select(а).

    $to = "example@mail.ru, "; //адрес получателя
    $to .= "example@mail.ru";//еще один адрес получателя

    $subject = "День рождения!"; //Тема письма

    $message = $final_message; // значение переменной передаются в тело письма

    $headers = "Content-type: text/html; charset=UTF-8 \r\n";
    $headers .= "From: РДЛ-Телеком <example@mail.ru>\r\n";
    $headers .= "Reply-To: example@mail.ru\r\n";

    mail($to, $subject, $message, $headers); // отправляем письмо.

    ?>

    Вопрос: Как мне НЕ отправлять письмо, если значение переменной $final_message пустое? То есть когда SELECT не вернул значений.

    Не пойму как прописать условие
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.748
    Симпатии:
    1.321
    Адрес:
    Лень
    с полученного запроса в бд, проверить на возвращаемое кол-во строк, которые были найдены и добавлены в результат.
    Дальше тривиально условие...
     
  3. Евгений Порощай

    С нами с:
    19 янв 2021
    Сообщения:
    12
    Симпатии:
    0
    $result = $mysqli->query('SELECT NAME, LAST_NAME, PERSONAL_BIRTHDAY
    FROM b_user
    WHERE DATE_ADD(PERSONAL_BIRTHDAY,
    INTERVAL YEAR(CURDATE())-YEAR(PERSONAL_BIRTHDAY)
    + IF(DAYOFYEAR(CURDATE()) > DAYOFYEAR(PERSONAL_BIRTHDAY),1,0)
    YEAR)
    BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 1 DAY);'); // запрос на выборку

    $count = mysqli_num_rows($result); // количество строк в запросе // Вот тут считаю кол-во строк


    if ($count > 1) { // а вот само условие

    mail($to, $subject, $message, $headers);
    }

    else {

    die
    }

    ?>
    //Сейчас вообще не отрабатывает скрипт до конца, тоесть не отправляет письмо
     
    #3 Евгений Порощай, 19 янв 2021
    Последнее редактирование: 19 янв 2021
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.748
    Симпатии:
    1.321
    Адрес:
    Лень
    убери
    --- Добавлено ---
    во вторых, инструмент юзаешь на ООП, а проверяешь процедурным кодом
    --- Добавлено ---
    PHP:
    1. $resource = $db -> query( 'SELECT ...' );
    2.  
    3. if ( empty ( $resource -> num_rows ) )
    4. {
    5.     exit ( 204 );
    6. }
    7.  
    8. mail ( ... );