mysql_num_rows() expects parameter 1 to be resource

ja, ich weß es nicht ,wie ich mit diesem Problem machen sollte aber ich versuche trotzdem weiter, herauszufinden, wo meinen Fehler ist.

Ich meine ganze Programm, bekomme ich diese Fehler

Plz und Ortname stimmt nicht !
Unknown column 'Hannover' in 'where clause'


PHP:
include ('enfuegen-konfiguration.php');
   
 // plz,Ortname aus koordinaten holen, evtl. order by einfügen ...
$sql_plz ="select plz from Koordinaten";
$res_plz = mysql_query($sql_plz) OR die("<br><b><font color='#FF0000' face='Verdana'>PLZ nicht gefunden !</font></b><br>".mysql_error());

while($dat_plz = mysql_fetch_assoc($res_plz)) {

         $check_plz =($dat_plz['plz']);
	   }

$sql_ortname ="select Ortname from Koordinaten";
$res_ortname = mysql_query($sql_ortname) OR die("<br><b><font color='#FF0000' face='Verdana'>Ortname nicht gefunden !</font></b><br>".mysql_error());

while($dat_ortname = mysql_fetch_assoc($res_ortname)) {

         $check_ortname =($dat_ortname['Ortname']);
	   }
// plz und Ortname zum checken geholt
//checken wie oft plz,Ortname in den anderen tabellen vorhanden sind
$sql_check1 ="SELECT plz.text_val AS plz, ort.text_val AS ortsname, geodb_coordinates.lat,geodb_coordinates.lon
						FROM geodb_textdata plz
						LEFT JOIN geodb_coordinates ON plz.loc_id = geodb_coordinates.loc_id
					    LEFT JOIN geodb_textdata ort ON plz.loc_id = ort.loc_id
						WHERE plz.text_type =500300000
						AND plz.text_val = $check_plz
						AND ort.text_type =500100000 
						AND ort.text_type = $check_ortname";
$res_check1 = mysql_query($sql_check1)OR die("<br><b><font color='#FF0000' face='Verdana'>Plz und Ortname stimmt nicht !</font></b><br>".mysql_error());
$anzahl = mysql_query($res_check1);

if ($anzahl != '0') {
// sind also in beiden tabellen x-mal vorhanden und lat und lon speichern 
$latwert = 'geodb_coordinates.lat';
$lotwert = 'geodb_coordinates.lon';
$check_plz ='plz';
$check_ortname = 'Ortname';
mysql_query("update Koordinaten set lat='$latwert', lon='$lotwert' where Ortname = '$check_ortname' AND plz = '$check_plz'");
mysql_query($anzahl) or die(mysql_error());
echo mysql_affected_row();

}
else {
echo "Fehler";
}

 
mysql_close($con);  
?>
 
In deinem Monser-SQL prüfst du im WHERE auf mehrere Felder die den Namen text_irgendwas haben. ich geh mal davon aus, dass das auch Textfelder sind.
Das ist genau der Fehler den ich in meinem Tutorial abgehandelt habe! Strings gehören in ''
PHP:
                        AND plz.text_val = '$check_plz'
                        AND ort.text_type ='500100000' 
                        AND ort.text_type = '$check_ortname'"

Ansonsten macht er aus ort.text_type = $check_ortname das folgende:
ort.text_type = Hannover
Und ohne die ' sucht er nun ein Feld mit dem Namen Hannover.
 
Von dem Fehler mal ganz abgesehen, frage ich mich ob die Abfrage überhaupt einen Sinn macht.

SQL:
...
AND ort.text_type = 500100000 
AND ort.text_type = $check_ortname
...

Wenn das Feld "ort.text_type" den Wert "500100000" haben muss, wie kann es dann gleichzeitig ("AND") dem Wert der Variable $check_ortname entsprechen. Muss da nicht anstatt AND ein OR hin oder ist der Teil einfach ungewollt doppelt drin?

Und wenn es zuerst eine Zahl ist, wie kann es dann nachher z.B. Hannover entsprechen?
 
ich habe schon geändert aber Es kommt Fehler :

Warning: mysql_query() expects parameter 1 to be string, resource given in /home/www/test/www/Test/Koorimport/Dateinfuegen.php on line 32 Call Stack: 0.0007 649080 1. {main}() /home/www/test/www/Test/Koorimport/Dateinfuegen.php:0 0.0016 660816 2. mysql_query() /home/www/test/www/Test/Koorimport/Dateinfuegen.php:32 Query was empty
 
Du kennst doch meine Antwort auf diese Fehlermeldung oder?
Und? Wie sieht das ausgegebene SQL gemäss Tutorial aus?
 
Hallo,

ich habe auch gestern alles versucht und geändert, die Daten wird auch nicht in meine Tabelle eingefügt und ich vermute mal, es hängt vielleicht an meine Tabelle,könnten ihr mir sagen,habe ich in meine Tabelle aus der Datenbank falsch gemacht habe.

Koordinaten

id = int(11) primary key
Ortname = varchar(255) null
plz = int(11) null
lat = double null
lon = double null
 
Das ist eine gute Frage ob die Tabelle so stimmt.
Zeig doch mal die SQL-Anweisung mit der du auf die Tabelle zugreifst oder speicherst.
 
Zurück