Ну почему, блайнд sql фактически, http://rabota.kz/candidates/vacancies.php?cat=-123+and+substring(@@version,1,1)=3 читай подпись, там есть
ребята подскажите кто-нить вот так выглядет сама сртpаничка http://dwap.tj/chat/profile.php?id=1187&password=&ver=html id=-1187&password=&ver=html тут я ставлю минус между равно и 1187 и после как поставил минус выходит вот такая хринитень Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 5 in /var/www/localhost/htdocs/dwap.tj/chat/profile.php on line 8 вопрос с могу я что-нить тут сделать,и как тут составить правильный запрос.
Всем привет! Вывожу информацию: group_concat(name,0x3a,pass) Но вывод информации ограничен, через лимит выводится гораздо больше. Вопрос: Как вывести всю информацию, без ограничений?
Разобрался. Длина возвращаемого значение GROUP_CONCAT ограничена переменной group_concat_max_len и обычно равна 1024. Поэтому и выбирается так мало данных...
Будь добр, объясни эту конструкцию, документация по мускулу ответов не даёт. Особенно интересна эта функция: group_ws
я там ошибся, не group_ws а concat_ws ну а если и это интересно то: Code: concat_ws(0x0a,group_concat(concat_ws(0x3a,name,pass))) concat_ws - выводит значения столбцов из таблиц, разделяя при этом точками, запятыми, двоеточиями, я в основном использую двоеточия, отсюда и "0x3a"; Code: concat_ws(0x3a,name,pass) т.е. вывести name : pass а group_concat - это чтобы лимитом мозги не е*ать, выводит все таблицы, но при этом по умолчанию стоит лимит 1024 символов, только админ может поменять значение? так что если не все таблицы показало, придется limit'ом добивать...
Я написал какая функция меня интересовала, но, даже так , мне очень интересно, зачем использовать concat_ws 2 раза? Это какой-то новый подход? Что он даёт? Мне кажется, не нужно торопится, и давать ответы в которых сам не уверен
Желание доказать свою правоту, порой мешает увидить ошибки, и улучшить знания. Да я вижу, что ты составил конструкцию с двумя разными разделителями, но эта конструкция безсмысленна Вынимаем поля, разделяем двоеточием, группируем и подаём в concat_ws 0x0a. Зачем? Что она по твоему будет разделять, если ей передаётся ОДИН аргумент. Вобщем, это личное дело каждого. учиться или нет, но от написания безсмысленных конструкций(и доказывания, что так и надо) в разделе, прошу воздержаться, раздел по вопросам о уязвимостях, и ответы должны быть компетентными
Так попробуй: GROUP_CONCAT(name,0x3a,pass)+FROM+table+WHERE+ASCII(lower(name))= 97 - это то же самое, все юзеры на 'a' (по идее если список всех юзеров не влезает, то может влезет список юзеров, начинающихся только на определённую букву, буквы можешь перебирать) ну table замени на свою таблу есс-но
тебе пытаются объяснить что group_concat() будет однозначен. насчет сабжа вариантов много, cамый очевидный: select group_concat(user) from users where user>0xlast_selected_user если колонки две +and pass>0xPass /add первая строчка относится к Gemini12 /add2 Pashkela, а если в базе 10к юзверей на 'а'?)
есть еще substring, так что метода железная, если очень надо ЗЫЖ И неоднократно проверенная, и легко автоматизируемая, сначала count(name), а потом уж сверять, сколько вывел, зачем и, самое главное, нафига Хотя твой вариант тоже выглядит заманчиво, просто не проверял