Здравствуйте,у меня возникла проблемка передачи пользовательских переменных mysql формата из php кода, как я понял происходит неправильная передача параметров в $row, поэтому выскакивает ошибка mysql_fetch_row: Код (Text): $row = array(); $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'"; $resultClevel = mysql_query($queryClevel); $row = mysql_fetch_row($resultClevel); Дело в том, что mysql запрос сам выполняется верно и выводит результат в такой форме но это результат sql запроса. Я не могу найти ответ, нужно ли пересылать из php "@собаку" чтобы mysql вернул результат? И как вывести в echo результат этого временного столбца?
что-то какая-то у вас каша. переменные никакие никуда никогда не пересылаются. Просто отправляется ее значение. То как оно выглядит в каком языке совершенно абсолютно плевать. SQL-запрос это текстовая строка. Для начала вы бы привели текст ошибки что ли. Почему-то мне сдается, что там говорится о том, что требуется resource, а вы отдали boolean. Если так - значит запрос вернул ошибку.
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/u987177732/public_html/Unity/getparams.php on line 54 это ошибка про которую я выше описал.
два запроса за один раз не послать. Добавлено спустя 37 секунд: запрос обломился, в ответе скорее всего сидит false var_dump помогает посмотреть что внутри переменной
igordata мне просто нужно вывести через echo вот этот результат но я не знаю как((( пытался echo $row[1]; но из за ошибки-пусто. Добавлено спустя 3 минуты 19 секунд: через var_dump попробовал. Добавлено спустя 4 минуты 28 секунд: Как мне кажется,запрос не выполняется все таки из за т.к. php может думает,что ошибку не нужно выводить,т.к. @,хотя она ставится обычно перед выполнением функции. Но mysqlю то надо как то передать временную переменную чтобы вернуть результат.
igordata этот запрос выбирает все записи из таблицы,затем сортирует все записи по убыванию в зависимости от поля level,далее присваивается каждой записи значение @i в инкрементируемом порядке. Результат такой если vk_id=vk_id: а если vk_id='32154' как второй вариант,который мне нужен,тогда такой: и потом вывести в эхо только номер позиции.
а как я могу от нее отказаться? у меня безвыходная ситуация: Исправил так,дамп показывает значение position=NULL хотя должно быть 8,т.е. счетчик не идет((
MAN_IFE_ST только находит запись и присваивает ей номер 1 а нужен в результате номер 8 для этой записи,причем не жестким внедрением своей цифры,а естественным отбором) Результат: Запрос в mysql выполняется с учетом SET @i:=0; а в php почему так не прокатывает с SET из за этого ошибка fetch_array Добавлено спустя 32 минуты 47 секунд: все вопрос решен, все верно было сказано,решение оказалось совсем простым,просто нужно было написать еще один отдельный запрос: $queryClevel0 = mysql_query("SET @i = 0;");
автор, давай от цели идти. тебе эти номера для чего нужны? чтобы при выводе на странице показывать номер по порядку, правильно? это не атрибут исходных данных, это прибамбас представления. вот и создавай этот номер выводе html. самый ништяковый способ: тег <ol> )) а есть еще цикл for ) можно сочинить SQL запрос с номерами, но это трюкачество ради трюка в данном случае. нах!