mysql now();

Discussion in 'PHP' started by barnaki, 1 Mar 2010.

  1. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    140
    Reputations:
    4
    есть строки
    $time = mysql_query("select now();");
    echo "$time";

    но увы выводит не время а надпись Resource id #4
    как сделать чтобы выводило время
     
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    barnaki echo mysql_result($time, 0); И, кстати, вы ЗАЕ*АЛИ создавать новые темы каждый раз, когда у вас возникнет простенький вопрос
     
    _________________________
    #2 Gifts, 1 Mar 2010
    Last edited: 1 Mar 2010
    1 person likes this.
  3. ReduKToR

    ReduKToR Active Member

    Joined:
    5 Jan 2009
    Messages:
    257
    Likes Received:
    179
    Reputations:
    4
    $time = mysql_query("select now()");
    echo "$time";

    лишний ; поставил
     
  4. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    ТС, для записи инфы с БД в массив существуют две функции
    PHP:
    mysql_fetch_array()
    mysql_fetch_assoc()
    Подробнее почитай в гугле, а вообще - используй функцию time(), если задача не ставилась конкретно в выводе времени из БД.
     
  5. fokinkostya

    fokinkostya New Member

    Joined:
    28 Feb 2010
    Messages:
    1
    Likes Received:
    4
    Reputations:
    0
    Мде ребята... погуглить и почитать про функции видимо не судьба.

    PHP:
    $time mysql_query("select now();");
    echo 
    "$time";
    Теперь разберем пример.

    Гуглим и копипастим:
    Т.е. после выполнения
    PHP:
    $time mysql_query("select now() as time;");
    переменная $time хранит указатель (!) на результат запроса. Т.е. значения как такового там нет.

    Идем дальше, твой вызов
    PHP:
    echo "$time";
    выведет текст "$time", ибо кавычки при использовании переменных надо убирать. Если ты уберешь кавычки, то получишь текст "Resource id #4", это и есть тот самый указатель.

    Далее, переменная $time хранит указатель на результат запроса, надо же его как-то вытащить... для этого предусмотрено несколько функций:
    В твоем случае можно использовать любую из этих функций.
    http://www.softtime.ru/dic/id_dic=127&id_group=2 тут можешь почитать про них.

    Теперь вернемся к примеру... в подобных случаях, когда возвращается результат всего одной колонки, я обычно использую следующий вызов (кстати до меня его уже написали)
    PHP:
    $res mysql_result($time,0);
    Переменной $res назначится значение 0 ряда. И тогда вызовом:
    PHP:
    echo $res;
    ты выведешь значение.

    Можно использовать другую функцию, например вернуть ассоциативный массив:
    PHP:
    $res mysql_fetch_assoc($time);
    В этом случае при вызове:
    PHP:
    echo $res;
    ты получишь текст "Array()".

    Здесь для вывода значение необходимо указать ключ массива (он же имя колонки или функции, в случае, если имя не указано явно через "as name").

    В твоем случае правильный вызов:
    PHP:
    echo $res['time'];
    Лишь тогда ты получишь свое значение.

    Использование точки с запятой ";" в запросе необходимо только в случае выполнения нескольких запросов. Т.е. они перечисляются через ";". Если запрос один, то использовании ";" не обязательно

    А нужно ли это тебе?
    Время можно получить с помощью встроенной функции:
    PHP:
    echo time();
    P.S. Если где-то ошибся, поправьте. Давненько уже не программировал.
     
    #5 fokinkostya, 3 Mar 2010
    Last edited: 3 Mar 2010
Loading...