Когда я пытаюсь сделать сложение / умножение и т.д. в php с результатами запроса GraphDb, я получаю ошибку ниже и не знаю почему. Если это имеет значение, в GraphDb значения содержат «^^ xsd: integer».
$generalTotal = 0;
$sql = "PREFIX c: <http://chinde.ro#>
select ?titlu ?numeAutor ?pret ?nrBuc ((?pret * ?nrBuc) as $total) where {
GRAPH c:Vanzari {
?idV c:carte ?idCarte.
?idV c:bucati ?nrBuc.
?idV c:idTranz c:'.$idTranzactie.'.
}
GRAPH c:Carti {
?idCarte c:titlu ?titlu.
?idCarte c:autor ?idAutor.
?idCarte c:pret ?pret.
}
GRAPH c:Autori {
?idAutor c:numeAutor ?numeAutor.
}
}";
$res = $client->query($sql);
foreach($res as $row){
print "Total: ".$row->total;
$generalTotal = $generalTotal + $row->total; // <-- errors appears cause of this
}
print $generalTotal;
Примечание: объект класса EasyRdf_Literal_Integer не может быть
преобразован в int в
C: \ xampp \ htdocs \ LICENTA2 \ admin \ componententeAdmin \ comenzi.php в строке 107
Как бы я пошел по этому поводу? Должен ли я создать подзапрос, в котором я беру результаты первого запроса и добавляю все значения $ total в новый параметр? Или есть простой способ сделать запрос int распознаваемым php?
Задача ещё не решена.
Других решений пока нет …