Ошибка перевода object to string

385
18 февраля 2017, 08:15

При выборке ругается так:

Catchable fatal error: Object of class mysqli_result could not be converted to string ... on line 232

230-> echo"
231-> <div class='bo_pol'>
232-> <p><span class='otmetki'>".$com_pol."</span> | Полезность</p>
233-> </div>";

Помимо этой строки переменная $com_pol - используется здесь:

209-> $com_pol = mysqli_query($link, "select sum(otzi_bal) as summ from comm_rate WHERE otzi_id='1'");

Собственно из-за нижней строки и происходит ошибка. В самой sql запрос выполняется правильно и выдает нужный результат. (Смотрела похожую тему Ошибка object Но как поправить не поняла ) Заранее спасибо.

Answer 1
mysqli_query($link, "select sum(otzi_bal) as summ from comm_rate WHERE otzi_id='1'")->fetch_assoc()['summ'];
Answer 2

Из описания mysqli_query

Возвращает FALSE в случае неудачи. В случае успешного выполнения запросов SELECT, SHOW, DESCRIBE или EXPLAIN mysqli_query() вернет объект mysqli_result. Для остальных успешных запросов mysqli_query() вернет TRUE.

У Вас используется SELECT. Тогда правильный код будет таким

$res = mysqli_query(
  $link,
  "select sum(otzi_bal) as summ from comm_rate WHERE otzi_id='1'"
);
if (!$res)
  die(mysqli_error($link));
$com_pol = $res->fetch_row()[0];
$res->close();
READ ALSO
Обвертка в теге &lt;a&gt; PHP

Обвертка в теге <a> PHP

есть переменная, которая содержит следтекст:

365
Параллельность PHP

Параллельность PHP

Как реализовать параллельные запросы с помощью pthreads php?

376
Трансляция на сайт через OBS

Трансляция на сайт через OBS

Появились на руках исходники цмски, которая транслирует работу через программу OBS Studio, но я не понимаю как оно все работает

792
Проверка ключа сессии в node.js

Проверка ключа сессии в node.js

web-приложение состоит из 1 статического файла html, который после загрузки на клиент через apache 24 начинает взаимодействовать с приложением node

422