Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Ошибка при работе с функцией array_sum()

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Ошибка при работе с функцией array_sum()
Trosel
Отправлено: 08 Января, 2016 - 23:17:35
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Янв. 2016  


Помог: 0 раз(а)




У меня есть следующий код:
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT `mnen` FROM `uch`
  3.                       WHERE `match` = '1'
  4. ") or die(mysql_error());
  5.  
  6. $row = mysql_fetch_array($result);
  7. $est = array_sum($row);
  8.  
  9. if($est == 1){
  10. //что-то выполняется
  11. }
  12.  

Всего находится по данному запросу($result) 2 строчки у одной из которых mnen=0 у другой mnen=1.
Я добиваюсь того, чтобы у меня $est было равно 1. Но из-за того, что я что-то делаю не правильно или чего-то не понимаю - $est, если проверить echo $est; равен почему то 0.
Что не правильно, где может быть ошибка? Заранее благодарен за помощь
 
 Top
Prizma
Отправлено: 09 Января, 2016 - 00:14:03
Post Id



Посетитель


Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012  
Откуда: Санкт-Петербург


Помог: 5 раз(а)




Trosel пишет:
Всего находится по данному запросу($result) 2 строчки у одной из которых mnen=0 у другой mnen=1.


Попробуй
Вместо:

вот так:
PHP:
скопировать код в буфер обмена
  1. $est = 0;
  2. foreach($row as $r) {
  3.     $est += $r['mnen'];
  4. }

Если не поможет значит ищи ошибку в запросе, может поле иначе называется.
 
My status
 Top
OrmaJever Модератор
Отправлено: 09 Января, 2016 - 00:19:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Trosel пишет:
array_sum

а sum() в sql уже не модно? Однако


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Trosel
Отправлено: 09 Января, 2016 - 10:42:31
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Янв. 2016  


Помог: 0 раз(а)




Попробовал заменить, выдаёт ошибку Warning: Illegal string offset 'mnen' in /home/u621565443/public_html/wat ch.php on line 46 .
В запросе всё нормально вот сама строчка:
1 match
1 mnen
4 id
login login
(из бд)
у mnen тип int(11)
(Добавление)
Я исправил ошибку вроде, заменил тот код на
PHP:
скопировать код в буфер обмена
  1.  
  2. $est = 0;
  3. foreach($row as $r) {
  4.     $est += $r;
  5. }
  6.  

Но теперь как и прежде $est = 0. Хотя я точно вижу, что в бд сумма mnen этих строчек равна 1.
 
 Top
Trosel
Отправлено: 09 Января, 2016 - 20:49:14
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Янв. 2016  


Помог: 0 раз(а)




Могу скрин из бд скинуть. До сих пор решаю и не могу решить эту проблему.
 
 Top
Trosel
Отправлено: 09 Января, 2016 - 23:12:47
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Янв. 2016  


Помог: 0 раз(а)




Если вводить $row['mnen'], то выдаёт ошибку

(Отредактировано автором: 09 Января, 2016 - 23:15:07)

 
 Top
Trosel
Отправлено: 10 Января, 2016 - 11:01:40
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Янв. 2016  


Помог: 0 раз(а)




Вот скриншот из базы
Прикреплено изображение (Нажмите для увеличения)
HQFX8888.jpg
 
 Top
OrmaJever Модератор
Отправлено: 10 Января, 2016 - 23:05:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT sum(mnen) mnen FROM `uch` WHERE `match` = '1'


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB