Показать сообщение отдельно

  #1  
Старый 03.07.2010, 00:28
Serbies
Познающий
Регистрация: 26.12.2006
Сообщений: 31
С нами: 10196777

Репутация: 10
По умолчанию

Цитата:
Сообщение от SeNaP  
Как правильно составить двойной запрос?
PHP код:
[COLOR="#000000"][COLOR="#0000BB"]
[/
COLOR][COLOR="#007700"]function[/COLOR][COLOR="#0000BB"]recordcount_new[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ps_sql[/COLOR][COLOR="#007700"]){

global[/COLOR][COLOR="#0000BB"]$conn_s[/COLOR][COLOR="#007700"];

[/COLOR][COLOR="#0000BB"]$rs_s2[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]mysql_query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"select COUNT(CODE) as count1 from "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$ps_sql[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$conn_s[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$rs_s[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]mysql_fetch_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$rs_s2[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$pi_recordcount[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$rs_s[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'count1'[/COLOR][COLOR="#007700"]];

[/
COLOR][COLOR="#0000BB"]mysql_free_result[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$rs_s2[/COLOR][COLOR="#007700"]);

if ([/COLOR][COLOR="#0000BB"]$pi_recordcount[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#DD0000"]""[/COLOR][COLOR="#007700"])[/COLOR][COLOR="#0000BB"]$pi_recordcount[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];

return[/
COLOR][COLOR="#0000BB"]$pi_recordcount[/COLOR][COLOR="#007700"];

}

[/
COLOR][/COLOR
PHP код:
[COLOR="#000000"][COLOR="#0000BB"]$rs_2[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]mysql_query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"select * from tbl_subkat where KATCODE="[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#DD0000"]" order by POSITION, NAZV"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$conn1[/COLOR][COLOR="#007700"]);

while (([/COLOR][COLOR="#0000BB"]$rs[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]mysql_fetch_assoc[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$rs_2[/COLOR][COLOR="#007700"]))!==[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]$pi2[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]recordcount_new[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"tbl_base where ISMODER=1 and (SUBKAT1="[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$rs[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'CODE'[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#DD0000"]" or SUBKAT2="[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$rs[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'CODE'[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#DD0000"]" or SUBKAT3="[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$rs[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'CODE'[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#DD0000"]")"[/COLOR][COLOR="#007700"]);



if
([/COLOR][COLOR="#0000BB"]$pi2[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]) echo[/COLOR][COLOR="#DD0000"]' ('[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$pi2[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]')'[/COLOR][COLOR="#007700"];

}

[/
COLOR][/COLOR
-1+UniON+SelEcT+1+into+outfile+'1.txt'-- = 0x2d312b556e694f4e2b53656c4563542b312b696e746f2b6f 757466696c652b5c27312e7478745c272d2d
http://site.ru/kat.php?id=-1+UnioN+SeELcT+0x2d312b556e694f4e2b53656c4563542b3 12b696e746f2b6f757466696c652b5c27312e7478745c272d2 d,2,version(),4--
идем по порядку:

1) гет параметр передаецо только 1 и это id - других параметров не вижу

2) далее пошли перелопачивать все это(непонятно зачем селект был всего а работаем только с 1м столбцом)

3)потом через это рс начали делать запросы которые должны вернуть только число хотя мускулу пофиг в данном случае и проверок нет надлежащих, но смущает то что вывод происходит по именам столбцов а не по номерам(это и к первому и ко втророму куску кода относицо).

4) Наконец у нас в таблицах происходит выбор разного количества столбцов- а это уже в данном случае только блинда

последнее убивает окончательно:

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if ([/COLOR][COLOR="#0000BB"]$pi2[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]) echo[/COLOR][COLOR="#DD0000"]' ('[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$pi2[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]')'[/COLOR][COLOR="#007700"];[/COLOR][/COLOR
если сервер настроен так что не будет выдавацо ошибок мускула то дело тухлое - так как не сможем проверить даже правильный или нет первый запрос
 
Ответить с цитированием