SELECT AS Problem

megatom

Mitglied
Normale Datenbank Abfrage mit

$geodb_locationsresult = mysql_query("select * from geodb_locations");
$geodb_locationsnum = mysql_num_rows($geodb_locationsresult);
$geodb_locationsrow = mysql_fetch_array($geodb_locationsresult);

.

Aber bei

$geodb_locationsresult = mysql_query("SELECT umkreis.name_int AS ort,
ROUND(standort.laenge,3) AS km from
geodb_locations umkreis, geodb_locations standort
WHERE
standort.name_int = 'Köln' AND umkreis.name_int != 'Köln' ");
$geodb_locationsnum = mysql_num_rows($geodb_locationsresult);
$geodb_locationsrow = mysql_fetch_array($geodb_locationsresult);

krieg ich immer den fehler :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Liegts am AS oder was versteh ich da nicht ?
 
Hi megatom,

ich kann in Deinem SELECT-Statement auf den ersten Blick auch keinen Fehler sehen (außer ein paar Unschönheiten, die aber Geschmackssache sind). Das AS bei FROM ist zwar (nach meinem Geschmack) schöner, muss aber nicht sein, soweit ich weiß.

Vielleicht liegt es daran, dass Du dem mysql_query() nicht die Connection als zweiten Parameter mitgibst? Das hieße dann aber, dass Dein erstes Code-Beispiel auch nicht funktionieren dürfte.

Wenn Du hinter mysql_query(...)
Code:
...or die(mysql_error($connection))  // was immer Deine Connection-Variable ist
angibst, dann sollte im Falle eines DB-Fehlers die MySQL-Fehlermeldung ausgegeben werden. Die kann oft weiterhelfen...

Viele Grüße,
Martin
 
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Solche Fehler kriegst du, wenn du kein Ergebnis in der Abfrage erhalten hast. Schau mal mittels deiner Konsole oder einem SQL Tool (z.B. PHPMyAdmin) ob du tatsächlich keine Datensätze bei dieser Abfrage als Ergebnis erhälst, dann ist das des Rätsels Lösung.
 
So schlau war ich auch schon.
Habe definitiv mehr als 5 Ergebnisse.

Dachte dass das Ergebnis ein anders Format hat, wegen der SELECT AS Auswahl. Nur welches ?
 
Na dann weiss ich auch nicht.

Ich kenn den Fehler nur von dem Fall, wenn kein Recordset (sprich Ergebnis) vorhanden ist.

Das SQL Statement schaut auf jeden Fall gut aus, daran liegts meiner Meinung nach nicht.
 
@megatom:
Und Du bist sicher, dass auch die richtige Connection verwendet wird? Da Du bei mysql_query() keine mit angibst, wird als Default die zuletzt geöffnete Connection verwendet.

Und Entschuldige den banalen Tipp, falls Du "auch schon so schlau" warst. Es geht aus Deinem Code-Beispiel eben nichts bzgl. Connection (mysql_connect) oder Datenbank-Auswahl (mysql_select_db) hervor. Hätte ja sein können...
 
OMG.
Dummheit sollte bestraft werden.
Hatte nur einen Zeilenumbruch ab einer Stelle, wo keiner sein durfte......
Vielen Dank für eure Hilfe...
 

Neue Beiträge

Zurück