ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

вопрос по sql
  #1  
Старый 06.02.2009, 21:54
Аватар для malik555
malik555
Участник форума
Регистрация: 04.02.2009
Сообщений: 132
Провел на форуме:
350627

Репутация: 1
По умолчанию вопрос по sql

Добрый день

Код:
$u = mysql_query("SELECT       

SUM(users.money) as u_money,   
SUM(admin.money) as l_money     

FROM      users,admin");                                

$u = mysql_fetch_array($u);                                      


print "$u[u_money] <br/> $u[l_money]";

Почему он выдат суму в 2 раза больше чем записанно ?
 
Ответить с цитированием

  #2  
Старый 07.02.2009, 07:33
Аватар для blaga
blaga
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме:
2976185

Репутация: 694


Отправить сообщение для blaga с помощью ICQ
По умолчанию

судя по факу он выдает сумму столбца. перепроверь данные в БД.
 
Ответить с цитированием

  #3  
Старый 07.02.2009, 14:54
Аватар для malik555
malik555
Участник форума
Регистрация: 04.02.2009
Сообщений: 132
Провел на форуме:
350627

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

когда считаем в адной таблице то все правельно

Код:
$u = mysql_query("SELECT  

 SUM(money) as l_money         

FROM   admin");                                    

$u = mysql_fetch_array($u);



print " $u[l_money]";

а когда в двух то результат в 2 раза больше
 
Ответить с цитированием

  #4  
Старый 07.02.2009, 16:01
Аватар для VDShark
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме:
804931

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

Дело тут в этом
Код:
FROM      users,admin
По сути это есть декартово произведение, т.е. комбинация всех столбцов в первой таблице и всех столбцов во второй таблице. Мало того что это неправильно, так это еще и жрет вычислительные ресурсы
Сделать можно так (если я правильно понял структуру):
Код:
SELECT
(SELECT SUM(money) FROM users) AS u_money,
(SELECT SUM(money) FROM admin) AS a_money

Последний раз редактировалось VDShark; 07.02.2009 в 16:02.. Причина: очепятке =(
 
Ответить с цитированием

  #5  
Старый 13.02.2009, 01:06
Аватар для malik555
malik555
Участник форума
Регистрация: 04.02.2009
Сообщений: 132
Провел на форуме:
350627

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

А почему с UPDATE так не получается

Код:
mysql_query("UPDATE     (UPDATE users SET money='ppp'  WHERE id='edfcf01055043f5b473ba4365ebb8f78')    ");
 
Ответить с цитированием

  #6  
Старый 13.02.2009, 14:43
Аватар для VDShark
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме:
804931

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

Эм... во первых так не получится, а во вторых я стесняюсь спросить - ты чего хочешь сделать то?)
 
Ответить с цитированием

  #7  
Старый 13.02.2009, 16:03
Аватар для malik555
malik555
Участник форума
Регистрация: 04.02.2009
Сообщений: 132
Провел на форуме:
350627

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

я оптимизирую запросы на сайте , Мне так полюбился sql - что я теперь - все пытаюсь впихнуть в один запрс с кучей параметров - и проверок !
 
Ответить с цитированием

  #8  
Старый 13.02.2009, 16:43
Аватар для MuXaJIbI4
MuXaJIbI4
Познающий
Регистрация: 20.11.2008
Сообщений: 68
Провел на форуме:
108674

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

а ты уверен что запихнув все в один запрос работаь будет быстрее ... сделай EXPLAIN для своих запросов и подумай еще раз
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обнаружение Sql инъекций в Oracle, часть первая k00p3r Чужие Статьи 1 12.07.2005 08:51
Обнаружение Sql инъекций в Oracle, часть вторая k00p3r Чужие Статьи 0 13.06.2005 11:26
Sql инъекция и Oracle, часть первая k00p3r Чужие Статьи 0 13.06.2005 11:23
Внедрение Sql кода с завязанными глазами k00p3r Чужие Статьи 0 12.06.2005 20:48
SQL Injection в Oracle k00p3r Чужие Статьи 0 12.06.2005 12:41



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ