За последние 24 часа нас посетили 56830 программистов и 1750 роботов. Сейчас ищут 766 программистов ...

вытащить данные из?

Тема в разделе "PHP и базы данных", создана пользователем EDark, 11 апр 2012.

  1. EDark

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

    С нами с:
    2 апр 2012
    Сообщения:
    40
    Симпатии:
    0
    делаю sql запрос
    пишу в переменную

    делаю var_dump
    Код (Text):
    1. object(stdClass)#39 (3) { ["row"]=> array(1) { ["MAX(order_id)"]=> string(3) "271" } ["rows"]=> array(1) { [0]=> array(1) { ["MAX(order_id)"]=> string(3) "271" } } ["num_rows"]=> int(1) }
    не могу понять как вывести число 271 ?
     
  2. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Угадай мелодию из 3х нот. Подробней то можно, что за запрос?
    $переменная1 = $переменная0["rows"][0]["MAX(order_id)"]
     
  3. EDark

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

    С нами с:
    2 апр 2012
    Сообщения:
    40
    Симпатии:
    0
    да мне интересно знать как из этого кода выдрать 271
    ну там echo $test["MAX(order_id)"]; к примеру

    в принципе я решил проблему иначе (int)$oquery->row['order_id']
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    это неправильное решение
     
  5. EDark

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

    С нами с:
    2 апр 2012
    Сообщения:
    40
    Симпатии:
    0
    зато работает)
    а в чем неправильность?
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    обратись ты к этому дело по-человечески, тебе ж показали как.
     
  7. vvedensky

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

    С нами с:
    11 апр 2012
    Сообщения:
    1
    Симпатии:
    0
    дело в том, что Вы делаете запросто типа SELECT MAX(order_id) FROM table, поэтому оно Вам возращает ["MAX(order_id)"], лучше сделать SELECT MAX(order_id) AS max_order_id FROM table тогда ваша заветная 271 будет в массиве под ключем ['max_order_id'] => 271, ну а там думаю проблем не будет.
     
  8. EDark

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

    С нами с:
    2 апр 2012
    Сообщения:
    40
    Симпатии:
    0
    как раз так и делаю, и возвращает именно то что я в первом сообщении написал

    а вот так пашет
    Код (Text):
    1. <?php
    2. $oquery = $this->db->query("SELECT MAX(order_id) AS order_id FROM `" . DB_PREFIX . "order`");
    3. $order_id = (int)$oquery->row['order_id'];
    4. echo $order_id;
    5. ?>
    Добавлено спустя 2 минуты 57 секунд:
    igordata, может я неправильно делаю?

    Код (Text):
    1. $a = $oquery["rows"][0]["MAX(order_id)"];
    2. echo $a;
    после этого
    Fatal error: Cannot use object of type stdClass as array
     
  9. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  10. EDark

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

    С нами с:
    2 апр 2012
    Сообщения:
    40
    Симпатии:
    0
    да я с мускулом еще меньше чем с пхп знаком)

    еще один вариант, извращенный, это serialize + regex )))

    Добавлено спустя 2 минуты 25 секунд:
    то есть можно сделать так?

    Код (Text):
    1.  
    2. $query = mysql_fetch_assoc($oquery)
    3. $a = $query["rows"][0]["MAX(order_id)"];
    4. echo $a;
     
  11. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Код (PHP):
    1. $result = $this->db->query("SELECT MAX(order_id) AS maxid FROM `" . DB_PREFIX . "order`");
    2. if ($result === false) {
    3.   echo "Нас посетила птица обломинго.<br>\n";
    4. } else {
    5.   $row = mysql_fetch_assoc($result);
    6.   echo $row['maxid'];
    7. } 
    зачем тебе вобще знать order max id?
     
  12. EDark

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

    С нами с:
    2 апр 2012
    Сообщения:
    40
    Симпатии:
    0
    забей короче
    mysql_fetch_assoc(): supplied argument is not a valid MySQL result


    мои варианты работают)
     
  13. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    чтобы не было такого ворнинга и надо проверять, что там тебе ответили. на фалс например.