За последние 24 часа нас посетил 22921 программист и 1239 роботов. Сейчас ищут 762 программиста ...

Не работает условие в конструкторе foreach

Тема в разделе "PHP для новичков", создана пользователем Амин, 8 сен 2018.

Метки:
  1. Амин

    Амин Новичок

    С нами с:
    8 сен 2018
    Сообщения:
    1
    Симпатии:
    0
    elseif($body[0]=='cmd')
    {
    $sql ='SELECT * FROM users WHERE id = '.$from_id;
    foreach($db->query($sql)as $row){
    $self ="ID: ".$row['id']."\nБаланс: ".$row['balance']."$";
    }
    if(!$row['id']){
    $db->exec("INSERT INTO users VALUES ($from_id, '2500', null, null, null)");
    }
    }
    Данные он записывает. Но если добавить в условие:

    $self ="ID: ".$row['id']."\nБаланс: ".$row['balance']."$";
    То ID: (пусто) Баланс: (пусто) Только при следующем сообщении данные выводятся

    Если добавить условие в цикл foreach, то нет ответа.
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    окружай пример кода тегами
    [code] ... [/code]
    или
    [php] ... [/php]

    - - -

    непонятно что ты хотел сказать. покажи буквально как выглядит твой вариант "после", который работает не так как надо
     
  3. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    @Амин, в тело цикла foreach представленного кода входит только одна строка.
    Таким образом в конструкции foreach не оператора условия (if)