MySQL Abfrage bringt mich zur Verzweiflung

Ich bin schon die ganze Zeit am Grübeln, was daran falsch sein könnte:

PHP:
$sql = "SELECT SUM( $showart ) , member FROM user GROUP BY member ORDER BY 'SUM( $showart )' DESC LIMIT $page, $maxentries";
Vielleicht seht ihr da ja einen Fehler...
 
1. könntest du das vl. in mehrer zeilen gliedern ? wäre übersichtlicher
2. Was wird denn für ein fehler erzeugt
 
Original von 0wnZ
1. könntest du das vl. in mehrer zeilen gliedern ? wäre übersichtlicher
2. Was wird denn für ein fehler erzeugt?

So hier ist es nochmal schön übersichtlich:
PHP:
$sql = "
		SELECT SUM( $showart ) , member
		FROM user
		GROUP BY member
		ORDER BY 'SUM( $showart )' DESC
		LIMIT $page, $maxentries";

Bei PHP kommt halt der Fehler:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in F:\xampp2\xampp\htdocs\sh_game\scores.php on line 215

Und wenn ich statt der Variablen Werte einsetze und es direkt mit MySQL versuch, dann geht es da problemlos...
 
Mhh das is komsich...
Naja machs halt direkt
sonzt guck ma vielleicht tritt irgendwo bei einer der Variablen definitionen ein logischer fehler auf.
 
Gib der Summenausgabe mal einen Namen, den du in die ORDER BY Klausel einsetzt.
PHP:
$sql = "
		SELECT SUM( $showart ) AS sumart , member
		FROM user
		GROUP BY member
		ORDER BY sumart DESC
		LIMIT $page, $maxentries";

Unf prüfe, dass in $showart ein Spaltenname oder ein gültiger Ausdruck steht und in $page und $maxentries Ganzzahlen.

Wenn das alles nix hilft, füge hinter das Query eine Fehlerausgabe ein:

PHP:
$blah = mysql_query ( $sql ) or die ( mysql_error() );
 
Cool, du bist der Beste^^

Hab jetz in $page und $maxentries Ganzzahlen eingesetzt und sieheda, es funktioniert. Obwohl ich überhaupt nicht damit gerechnet habe, dass es daran gelegen hat, weil ich eigentlich dachte das sei Fehlerfrei und es lag am Rest des Befehls.

Naja Danke
 
Hallo erstmal ^^'

Code:
<?php $sql = "
        SELECT SUM( $showart ) , member
        FROM user
        GROUP BY member
        ORDER BY 'SUM( $showart )' DESC
        LIMIT $page, $maxentries"; ?>

Ich mein ich habs jetzt schlecht ausprobieren können, aber es kann sein das es gereicht hätte das wie folgt zu schreiben:

Code:
<?php $sql = "
        SELECT SUM( $showart ) , member
        FROM user
        GROUP BY member
        ORDER BY 'SUM( $showart )' DESC
        LIMIT $page, $maxentries;"; ?>

Hat bei mir schon wahre Wunder gewirkt.
Scheint tatsächlich ab und an Fehler zu verursachen...
 
Original von MorbZ!!!
Cool, du bist der Beste^^

Hab jetz in $page und $maxentries Ganzzahlen eingesetzt und sieheda, es funktioniert. Obwohl ich überhaupt nicht damit gerechnet habe, dass es daran gelegen hat, weil ich eigentlich dachte das sei Fehlerfrei und es lag am Rest des Befehls.

Naja Danke
Echt? Aber soriert wird es nicht, oder??? Denn
Code:
ORDER BY 'SUM( $showart )' DESC
soriert bestimmt nicht richtig. Es sollte
Code:
ORDER BY SUM( $showart ) DESC
heißen.

EDIT:
Übrigens sollte ein Query NICHT mit einem Semikolon enden, wenn es durch PHP ausgeführt wird. auf der Doc-Seite bei PHP steht

Anmerkung: Die Anfrage sollte nicht mit einem Semikolon enden.
 
Zurück
Oben