# mysql_fetch_row() expects parameter 1 to be resource



## Xching (15. Dezember 2010)

Hallo Zusammen,

Ich weiß auch nicht weite, wie ich diese Problem lösen sollte.

Der Fehler :

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in /home/www


```
$sql = "select id,lat,lon from Koordinaten 2 where id = 8";
$sql = mysql_query($sql);
$lonlt = mysql_fetch_row($sql);
```


----------



## Yaslaw (15. Dezember 2010)

Was macht das '2' im SQL?


----------



## Xching (15. Dezember 2010)

also die Tabelle ist Koordinaten2, ich habe falsch geschrieben


----------



## Yaslaw (15. Dezember 2010)

Und? wenn du es richtig schreibst, geht es dann?


----------



## Xching (15. Dezember 2010)

Es geht auch nicht, ich weiß es nicht warum?, ich habe sql im PHPmyadmin getestet, es zeigt auch keinenFehler


----------



## Yaslaw (15. Dezember 2010)

Zeig mal deinen neuen Testcode der nicht geht inklusive Fehlermeldung


----------



## Xching (15. Dezember 2010)

```
$sql = "select id,lat,lon from Koordinaten2 where id = 8";
$sql = mysql_query($sql);
$lonlt = mysql_fetch_row($sql);
```

Fehlermeldung :

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in /home/www/test/www/Test/googlemap/Umkreissuche.php on line 25

Call Stack:
    0.0008     660240   1. {main}() /home/www/test/www/Test/googlemap/Umkreissuche.php:0
    0.0011     661168   2. mysql_fetch_row() /home/www/test/www/Test /googlemap/Umkreissuche.php:25


----------



## Yaslaw (15. Dezember 2010)

Und genau das SQL "select id,lat,lon from Koordinaten2 where id = 8" funktioniert in phpMyAdmin? Komisch.
Dann mach mal ein OR DIE zum mysql_query() (Du weisst ja wie von meinem Tutorial her) und poste die Fehlermeldung


----------



## maeg (15. Dezember 2010)

Ich vermute, dass Dein SQL-Statement fehlschlägt. Dadurch bekommt $sql den Wert FALSE. mysq_fetch_row() akzeptiert - wie in der Warnung ersichtlich - keine Booleans.

Wieder der Hinweis: Du überschreibst Dir mit dem mysql_query() deine $sql-Variable von oben.

Teste mal, ob die Abfrage im PHPMYADMIN ohne Fehler funktioniert. Wenn ja, würde ich es mal so probieren:


```
$sql = "select id,lat,lon from Koordinaten2 where id = 8";
$res= mysql_query($sql);
$lonlt = mysql_fetch_row($res);
```


----------



## Xching (15. Dezember 2010)

die Abfrage funktioniert,ich bekomme keinen Fehler


----------



## Yaslaw (15. Dezember 2010)

yaslaw hat gesagt.:


> Dann mach mal ein OR DIE zum mysql_query() (Du weisst ja wie von meinem Tutorial her) und poste die Fehlermeldung


Damit? 

```
$sql=mysql_query($sql) or die(mysql_error());
```


----------



## Xching (15. Dezember 2010)

Da bekomme ich keinen Fehler mehr aber ich habe neue Problem


```
$r = 50;
$sql = 'select
            K.id,
            K.Ortname,
            K.plz,
            K.lat,
            K.lon
            from Koordinaten2 AS K 
            where ' . (2 * $Erdradius) . ' *
                ASIN(
                  SQRT(
                      POWER(' . $UrsprungX .' - ' . $Erdradius . ' * COS(K.lat * PI() / 180) * COS(K.lon * PI() / 180), 2)
                    + POWER(' . $UrsprungY .' - ' . $Erdradius . ' * COS(K.lat * PI() / 180) * SIN(K.lon * PI() / 180), 2)
                    + POWER(' . $UrsprungZ .' - ' . $Erdradius . ' * SIN(K.lat * PI() / 180), 2)
                  ) / ' . (2 * $Erdradius) . '
                ) <= ' . $r . '';
        
$res = mysql_query($sql)or die(mysql_error());;
echo "{$res}<br />\n";


while($db = mysql_fetch_assoc($res)){

$result[] = $db;
}
   
print_r($result);
```

Fehlermeldung : 

Resource id #3


----------



## Yaslaw (15. Dezember 2010)

Das ist keine Fehlermeldung sonder die Ressource $res.
Aber dieses SQL behandelst du je bereits in mindestens einem anderen Thread. Bitte dort über dieses SQL weiterdiskutieren


----------



## tombe (15. Dezember 2010)

Diesmal dürfte es wohl kein SQL Fehler sein. Er versucht das Ergebnis einer Abfrage mit der Variable $res auszugeben.


```
// hier ist am Ende ein ";" zu viel
$res = mysql_query($sql)OR die(mysql_error());;
// und hier wird wohl der Fehler ausgelöst. "echo $res" geht gar nicht
echo "{$res}<br />\n";
```


----------



## Xching (15. Dezember 2010)

Ich bekomme trotzdem keine Daten, sondern nur Resource id #3


----------



## Yaslaw (15. Dezember 2010)

Hey Xching
Schau dir mal genau an, von was dieses Resultat kommt. Schu mal bei php.net die Dokumentation in deiner Sprache an. Alles kauen wir dir nicht vor!

PS: Du hast in zig-Beispielen diese Befehle schon richtig angewandt. Warum machst du es heir anderst?


----------

