За последние 24 часа нас посетили 17873 программиста и 1653 робота. Сейчас ищут 929 программистов ...

Как правильно

Тема в разделе "PHP для новичков", создана пользователем inline, 12 янв 2011.

  1. inline

    inline Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    PHP:
    1. $sql_objects = mysql_query($sql);
    2. while ($objects = mysql_fetch_array($sql_objects))
    3. {
    4.  
    5. }
    или

    PHP:
    1.  
    2. while ($objects = mysql_fetch_array(mysql_query($sql)))
    3. {
    4.  
    5. }
    во втором варианте каждый раз будет выполнятся запрос по новому?
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    1й вариант
     
  3. inline

    inline Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    а во втором как-то интересней выглядит!
    компактней!
     
  4. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Второй вариант не только будет отправлять запрос к б.д. при каждой итерации, но и каждый раз возвращать новый результат, следовательно указатель последней обработанной (функцией mysql_fetch_...) строки будет устанавливаться в ноль. Так что если этот запрос вернёт хотя бы 1 строку, ты получишь бесконечный цикл, а в переменной $objects постоянно будет первая строка результата запроса.
    А вообще бред придумывать извращения ради уменьшения кода на одну строку, имхо.