За последние 24 часа нас посетили 15727 программистов и 1664 робота. Сейчас ищут 913 программистов ...

Передача переменных из php в mysql

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

  1. Serghter

    Serghter Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    42
    Симпатии:
    0
    Здравствуйте,у меня возникла проблемка передачи пользовательских переменных mysql формата из php кода, как я понял происходит неправильная передача параметров в $row, поэтому выскакивает ошибка mysql_fetch_row:

    Код (Text):
    1.  
    2. $row = array();
    3.  
    4. $queryClevel = "SET @i:=0; SELECT * FROM ( SELECT vk_id,@i:=@i+1 as position FROM e_users ORDER BY e_users.level DESC) e_users WHERE vk_id='$_id'";
    5.  $resultClevel = mysql_query($queryClevel);
    6. $row = mysql_fetch_row($resultClevel);
    Дело в том, что mysql запрос сам выполняется верно и выводит результат в такой форме

    но это результат sql запроса. Я не могу найти ответ, нужно ли пересылать из php "@собаку" чтобы mysql вернул результат? И как вывести в echo результат этого
    временного столбца?
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    что-то какая-то у вас каша. переменные никакие никуда никогда не пересылаются. Просто отправляется ее значение. То как оно выглядит в каком языке совершенно абсолютно плевать. SQL-запрос это текстовая строка. Для начала вы бы привели текст ошибки что ли. Почему-то мне сдается, что там говорится о том, что требуется resource, а вы отдали boolean. Если так - значит запрос вернул ошибку.
     
  3. Serghter

    Serghter Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    42
    Симпатии:
    0
    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/u987177732/public_html/Unity/getparams.php on line 54

    это ошибка про которую я выше описал.
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    два запроса за один раз не послать.

    Добавлено спустя 37 секунд:
    запрос обломился, в ответе скорее всего сидит false
    var_dump помогает посмотреть что внутри переменной
     
  5. Serghter

    Serghter Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    42
    Симпатии:
    0
    igordata

    мне просто нужно вывести через echo вот этот результат
    но я не знаю как(((
    пытался echo $row[1]; но из за ошибки-пусто.

    Добавлено спустя 3 минуты 19 секунд:
    через var_dump попробовал.

    Добавлено спустя 4 минуты 28 секунд:
    Как мне кажется,запрос не выполняется все таки из за
    т.к. php может думает,что ошибку не нужно выводить,т.к. @,хотя она ставится обычно перед выполнением функции. Но mysqlю то надо как то передать временную переменную чтобы вернуть результат.
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    что это вообще за запрос такой странный?
     
  7. Serghter

    Serghter Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    42
    Симпатии:
    0
    igordata
    этот запрос выбирает все записи из таблицы,затем сортирует все записи по убыванию в зависимости от поля level,далее присваивается каждой записи значение @i в инкрементируемом порядке. Результат такой если vk_id=vk_id:
    а если vk_id='32154' как второй вариант,который мне нужен,тогда такой:
    и потом вывести в эхо только номер позиции.
     
  8. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    зачем ты вообще присваиваешь этот номер, брателло?
     
  9. Serghter

    Serghter Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    42
    Симпатии:
    0
    igordata
    он обязательно нужен для вывода в эхо,просто мне это очень нужно,но не получается вот((
     
  10. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    почему ты решил, что тебе это нужно?
     
  11. Serghter

    Serghter Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    42
    Симпатии:
    0
    igordata

    я потом расскажу в личке,помоги пожалуйста решить проблему,если конечно сможешь?
     
  12. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    дык проблемы нет ))) точнее ты ее сам придумал, а надо от нее отказаться.
     
  13. Serghter

    Serghter Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    42
    Симпатии:
    0
    а как я могу от нее отказаться? у меня безвыходная ситуация:

    Исправил так,дамп показывает значение position=NULL хотя должно быть 8,т.е. счетчик не идет((
     
  14. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    SELECT id, id+5 as u FROM test

    Добавлено спустя 23 секунды:
    пример если что
     
  15. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    нужен ответ
     
  16. Serghter

    Serghter Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    42
    Симпатии:
    0
    MAN_IFE_ST

    только находит запись и присваивает ей номер 1 а нужен в результате номер 8 для этой записи,причем не жестким внедрением своей цифры,а естественным отбором)
    Результат:
    Запрос в mysql выполняется с учетом SET @i:=0; а в php почему так не прокатывает с SET из за этого ошибка fetch_array

    Добавлено спустя 32 минуты 47 секунд:
    все вопрос решен,
    все верно было сказано,решение оказалось совсем простым,просто нужно было написать еще один отдельный запрос:
    $queryClevel0 = mysql_query("SET @i = 0;");
     
  17. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я на 99,999% уверен что ты делаешь херню и так не надо делать :D
     
  18. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    чую apple тут замешано :D
    ты о чем ? хд
     
  19. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    автор, давай от цели идти. тебе эти номера для чего нужны? чтобы при выводе на странице показывать номер по порядку, правильно? это не атрибут исходных данных, это прибамбас представления. вот и создавай этот номер выводе html.
    самый ништяковый способ: тег <ol> :))) а есть еще цикл for )

    можно сочинить SQL запрос с номерами, но это трюкачество ради трюка в данном случае. нах!