Наткнулся на интересную sql-ошибку в самописном движке. Но я с такими не работал, одно дело например искать sqlэльки в полях ввода данных на форме и т.д. и т.п. Но что посоветуйте делать дальше с этим:
перед тем как мыслями делиться. Нужно а) Задать вопрос б) Показать какая хоть ошибка то
Хочешь быть мудрым? Не желай всего, что видишь; не верь всему, что слышишь; не говори всего, что знаешь; не делай всего, что умеешь, а только то, что полезно.
Вероятно что тут работает регулярное выражение или значение извлекается из переменной стреды или используется mod_rewrite. Только кто-то очень криво его применяет. Из строки запроса извлекается путь и подставляется в скуль запрос.
забыл про error! Ошибка вылазиеn такая: INSERT INTO xer1_stat_xit(id_point,id_session,id_user,id_page,page_adr) VALUES ('2427','562287','','10','/glava1'')
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''/glava1'')' at line 1
MySQL не поддерживает раздельных запросов. В insert через эту багу можно добавить сразу несколько записей. INSERT INTO xer1_stat_xit (id_point,id_session,id_user,id_page,page_adr) VALUES ('2427','562287','','10','glava1'),('24275','5629287','','150','/glava1')/* В твоем случае этим ничего не добьешься. Можно использовать подзапросы если версия скуля >= 4.0. INSERT INTO xer1_stat_xit (id_point,id_session,id_user,id_page,page_adr) VALUES ('2427','562287','','10',' glava1'),((select 9 from предпологаемая_табляца limit 1),'562287','','10','/glava1')/* Если версия скуля 5 то можно вытащить названия таблиц из information_schema. Если 4 то методом перебора таблиц а потом и столбцов. Если 3 то сделай кофе и смотри нашу рашу (немного инфы все же можно вытянуть).
MySQL не поддерживает раздельных запросов. В insert через эту багу можно добавить сразу несколько записей. INSERT INTO xer1_stat_xit (id_point,id_session,id_user,id_page,page_adr) VALUES ('2427','562287','','10','glava1'),('24275','5629287','','150','/glava1')/* В твоем случае этим ничего не добьешься. Можно использовать подзапросы если версия скуля >= 4.0. INSERT INTO xer1_stat_xit (id_point,id_session,id_user,id_page,page_adr) VALUES ('2427','562287','','10',' glava1'),((select 9 from предпологаемая_табляца limit 1),'562287','','10','/glava1')/* Если версия скуля 5 то можно вытащить названия таблиц из information_schema. Если 4 то методом перебора таблиц а потом и столбцов. Если 3 то сделай кофе и смотри нашу рашу (немного инфы все же можно вытянуть).
Сложновато, но всё же хорошо обьяснили! А вот ошибку выдают везде, кроме этого запроса: ')/*!50000+gb'bgb*//* Стало быть версия Мускула там 5 ? А каким образом мне вытащить названия таблиц из information_schema и что конкретно это мне даст?
Версия 4. Названия таблиц и столбцов можно узнать только подбором INSERT INTO xer1_stat_xit (id_point,id_session,id_user,id_page,page_adr) VALUES ('2427','562287','','10',' glava1'),((select 9 from например_user limit 1),'562287','','10','/glava1')/* Потом подбираем столбцы . Если после подстановки ошибки нет значит такая таблица или столбец сущестует INSERT INTO xer1_stat_xit (id_point,id_session,id_user,id_page,page_adr) VALUES ('2427','562287','','10',' glava1'),((select предпологаемый_столбец from предпологаемая_табляца limit 1),'562287','','10','/glava1')/*
После некоторых мучений названия таблиц и столбцов я так и не подобрал , но я так понял это эдинственный вариант в моём случае или всё таки есть что-то ещё?