Schwerwiegender Fehler: Nicht unterstützte Operandentypen

7

Ich erhalte den folgenden Fehler und ich frage mich, wie ich ihn beheben kann.

%Vor%

Es ist in diesem Bereich des Codes unten aufgeführt. Ich kann den vollständigen Code bei Bedarf auflisten.

PHP-Code

%Vor%

Hier ist Zeile 97

%Vor%

Hier ist der vollständige Code.

%Vor%     
tEcHnUt 16.01.2010, 14:32
quelle

5 Antworten

18

$total_rating_points ist ein Array. Sie können es nicht durch eine Zahl teilen.

    
just somebody 16.01.2010 14:36
quelle
3

(bearbeitet, seit die MySQL-Abfrage zur Frage hinzugefügt wurde)

Sie haben mysql_fetch_array verwendet, um Ihr Ergebnis von MySQL zu erhalten. Wie der Name andeutet, gibt dies ein Array zurück. Sie können Mathe nicht so auf Arrays tun.

Sie möchten Ihre MySQL-Abfrage folgendermaßen ändern:

%Vor%

Ändern Sie Ihren mysql_fetch_array-Code wie folgt:

%Vor%

Das wird die tatsächliche Zahl zurückgeben, die Sie dann für Mathematik verwenden können. Ändern Sie beide Ihre Abfragen in diesem Format, und Sie sollten gut gehen.

    
SoapBox 16.01.2010 14:42
quelle
1

Das wird normalerweise verursacht, wenn der Typ einer Ihrer Variablen etwas ist, was Sie nicht erwarten.

%Vor%

Geben Sie die Variablen $total_rating_points und $total_ratings :

aus %Vor%

.. dann rückwärts durch Ihren Code (überprüfen debug_backtrace() falls erforderlich), um herauszufinden, wo es schief gelaufen ist.

Edit: duhhh .. Ich habe gerade Ihren Code noch einmal angesehen und das Problem gesehen. Das $total_rating_points ist ein Array, und das ist die Ursache des Problems. Wie unterteilen Sie ein Array durch eine Zahl? Antwort: Sie können nicht.

Möchten Sie die einzelnen Elemente des Arrays durch $total_ratings teilen? zB:

%Vor%

... oder willst du die Summe teilen?

%Vor%     
nickf 16.01.2010 14:39
quelle
1

Verwenden Sie array_sum() für $total_rating_points und $total_ratings .

    
Alix Axel 16.01.2010 14:58
quelle
0
%Vor%     
pradeep 04.08.2016 04:50
quelle

Tags und Links