Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

kleine PHP Abfrage

Frage Entwicklung PHP

Mitglied: aruba1

aruba1 (Level 1) - Jetzt verbinden

26.09.2009, aktualisiert 02.10.2009, 6162 Aufrufe, 30 Kommentare

Hallo,

kann mir jemand helfen,
Ich bin in PHP eine absolute Niete.

Ich habe eine Tabelle (wp_plz) in meiner MYSQL DB angelegt
Diese Tabelle enthät 3 Felder mit den Namen:

Name, Ort, PLZ

Jetzt brauche ich eine PHP Seite mit einem Eingabefeld wo man die PLZ eintragen kann
und einen Button um eine Abfrage auslösen.

Nach dem auslösen des Buttons soll dann die Tabelle nach der eingegeben PLZ durchsucht werden
und als Ergebnis soll dann der Name und der Ort auf der Seite erscheinen.

Ich danke jetzt schon für die Hilfe.
30 Antworten
Mitglied: maretz
26.09.2009 um 14:10 Uhr
Was hast du damit vor? Es gibt nämlich auch die GeoDatabase - falls du immer nur einen Ort zu ner PLZ finden willst würde ich dir empfehlen dir das genauer anzugucken... Dann brauchst du nicht alle möglichen PLZ-Daten selbst verwalten...
Bitte warten ..
Mitglied: aruba1
26.09.2009 um 14:18 Uhr
Hallo,

mit Geodaten habe ich nix am Hut. Ich brauche nur zu einer PLZ den entsprechenden Ansprechpartner. In dem fall einen Aussendienstmitarbeiter.
Die Postleitzahlen kommen aus einem Programm das ich selbst verwalte. Da ändert sich immer nur der Name des Aussendienstmitarbeiters.

Aber trotzdem danke für die Hilfe.
Bitte warten ..
Mitglied: Cubic83
26.09.2009 um 14:28 Uhr
Hmm.

Wo liegt das Problem?

Die Anfrageseite mit dem Formular:

01.
 
02.
<form method="post" name="myForm" action="auswertung.php"> 
03.
<input type="text" name="PLZ_FELD_DER_ANFRAGESEITE"> 
04.
<input type="submit" value="Suchen"> 
05.
</form> 
06.
 
Und bei der Auswertung:

01.
 
02.
<? 
03.
 
04.
$SQL = "SELECT * FROM 'wp_plz' WHERE PLZ='".$_POST['PLZ_DER_ANFRAGESEITE']."'"; 
05.
$result = mysql_query($SQL); 
06.
 
07.
if (mysql_num_rows($result) > 0) 
08.
09.
   echo "Name: " . mysql_result($result, 0, 'Name'). "; Ort: " . mysql_query($result, 0, 'Ort'); 
10.
11.
else  
12.
13.
   echo 'Sorry, keine Einträge gefunden!'; 
14.
15.
 
16.
?> 
17.
 
Meinst du etwa das?

Nachtrag: Bin mir grad nicht sicher ob pro PLZ in Deutschland immer ein eindeutiges Name, Ort Resultat erscheint - Vielleicht weiss das ja einer ---
Bitte warten ..
Mitglied: filippg
26.09.2009 um 16:11 Uhr
Hallo,

$SQL = "SELECT * FROM 'wp_plz' WHERE
PLZ='".$_POST['PLZ_DER_ANFRAGESEITE']."'";
$result = mysql_query($SQL);
Konfuzius sagt: gebe niemals eine Nutzereingabe direkt an eine DB-Abfrage weiter, sonst ist SQL-Injection vorprogrammiert (im wahrsten Sinne des Wortes ). Wenn ein Nutzer da "12345; SELECT username AS Ort, pwd AS Name FROM MeineGeheimstenPasswoerter" eingibt kann es schon passiert sein...

Nachtrag: Bin mir grad nicht sicher ob pro PLZ in Deutschland immer
ein eindeutiges Name, Ort Resultat erscheint - Vielleicht weiss das ja
einer ---
Das kommt völlig darauf an, was du in deiner Tabelle für Daten hast und natürlich wie du "Ort" definierst. Aber definitiv hat nicht alles, was ein eigenes Ortsschild hat eine eigene PLZ.

Gruß

Filipp
Bitte warten ..
Mitglied: Cubic83
26.09.2009 um 17:28 Uhr
Und Konfuzius war schlieslich ein schlaues Bürchen ;)

Wie wär das:

01.
 
02.
$SQL =  "SELECT * FROM 'wp_plz' WHERE PLZ='".preg_replace('#[^0-9]#', "", $_POST['PLZ_DER_ANFRAGESEITE'])."'"; 
03.
 
oder sogar noch:

01.
 
02.
if (strlen($_POST['PLZ_DER_ANFRAGESEITE']) > 6) $_POST['PLZ_DER_ANFRAGESEITE'] = '000000'; 
03.
$SQL =  "SELECT * FROM 'wp_plz' WHERE PLZ='".preg_replace('#[^0-9]#', "", $_POST['PLZ_DER_ANFRAGESEITE'])."'"; 
04.
 
Mit freundlichen Grüßen
Bitte warten ..
Mitglied: filippg
26.09.2009 um 18:22 Uhr
Hallo,

die zweite Variante ist die eindeutig bessere.
Mein Injection-Beispiel lässt sich nämlich noch abändern, ewta nach
"12345 UNION SELECT username AS Ort, pwd AS Name FROM MeineGeheimstenPasswoerter" - gleicher Effekt, kein Semikolon mehr (okay, aber ein ",").

Gruß

Filipp
Bitte warten ..
Mitglied: aruba1
26.09.2009 um 19:56 Uhr
Hallo,

habe ich probiert Bekomme aber folgende Fehlermeldung:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/xxxxxx/auswertung.php on line 26
Sorry, keine Einträge gefunden!

Was mache ich hier falsch???


Vielen Dank für eure tolle Hilfe

PS:

So sieht mein PHP Sript aus:



<?
define ( 'MYSQL_HOST', 'localhost' );
define ( 'MYSQL_BENUTZER', 'xxxxxxx' );
define ( 'MYSQL_KENNWORT', 'xxxxxxx' );
define ( 'MYSQL_DATENBANK', 'xxxxxxx' );


$db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
if ( ! $db_link ){
die('keine Verbindung zur Zeit möglich - später probieren ');
}

$db_sel = mysql_select_db( MYSQL_DATENBANK )
or die("Auswahl der Datenbank fehlgeschlagen");

// SQL-Befehl für den Zugriff


$SQL = "SELECT * FROM 'wp_plz' WHERE PLZ='".$_POST['PLZ_DER_ANFRAGESEITE']."'";
$result = mysql_query($SQL);

if (mysql_num_rows($result) > 0)
{
echo "Name: " . mysql_result($result, 0, 'Name'). "; Ort: " . mysql_query($result, 0, 'Ort');
}
else
{
echo 'Sorry, keine Einträge gefunden!';
}
Bitte warten ..
Mitglied: Cubic83
26.09.2009 um 20:05 Uhr
Jetzt ist deine Aufgabe den Fehler zu finden. Das System zu debuggen.
Als erstes kannst du ein

01.
 
02.
echo $SQL; 
03.
 
durchführen um zu sehen wie die Query richtig aussieht. Diese Query kannst du dann im PHPMyAdmin direkt an die Datenbank schicken um zu sehen was sie bewirkt.

Auch kannst du dir den Fehler anzeigen lassen den die Abfrage generiert:

01.
 
02.
$SQL = "SELECT * FROM 'wp_plz' WHERE PLZ='".$_POST['PLZ_DER_ANFRAGESEITE']."'"; 
03.
$result = mysql_query($SQL); 
04.
 
05.
echo mysql_error(); 
06.
 
Mit freundlichen Grüßen

Edit: Pack deinen Code in einen Codeblock, das sieht besser und leserlicher aus. (hier im Forum: Schreib von den code "< code >" und danach "< /code >" - ohne Anführungszeichen und ohne Leerzeichen). Dann erscheint der Quelltext wie in meinem Beitrag.

Edit2: Ich bin nicht sicher ob ich richtig lese aber die Query muss lauten:

WHERE PLZ='".$___.'" Also vorne Apostroph Gänschefüschen (oder wie die Dinger auf Deutsch heissen. Die Dinger halt: ") und hinten muss es " und dann Apostroph sein.
Bitte warten ..
Mitglied: aruba1
26.09.2009 um 20:38 Uhr
Ich habe jetzt mal den SQL ausgeben lassen

Das Erbegnis:

SELECT * FROM 'wp_plz' WHERE PLZ=''

Irgendwie fehlt da was.
???
Bitte warten ..
Mitglied: dog
26.09.2009 um 20:40 Uhr
Edit2: Ich bin nicht sicher ob ich richtig lese aber die Query muss lauten:

Bevor wir jetzt lustiges Raten um SQL-Injections machen:

01.
<?php 
02.
 
03.
	define ( 'MYSQL_HOST', 'localhost' ); 
04.
	define ( 'MYSQL_BENUTZER', 'xxxxxxx' ); 
05.
	define ( 'MYSQL_KENNWORT', 'xxxxxxx' ); 
06.
	define ( 'MYSQL_DATENBANK', 'xxxxxxx' ); 
07.
 
08.
	// SQL-Befehl für den Zugriff 
09.
 
10.
	if(isset($_POST['PLZ'])) { 
11.
		 
12.
		$plz = @intval($_POST['PLZ']); 
13.
		 
14.
		if($plz < 1000 || $plz > 9999) 
15.
			die('Ungültige PLZ angegeben'); 
16.
			 
17.
		$db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT); 
18.
		if ( ! $db_link ){ 
19.
			die('keine Verbindung zur Zeit möglich - später probieren '); 
20.
21.
 
22.
		mysql_select_db( MYSQL_DATENBANK ) 
23.
			or die("Auswahl der Datenbank fehlgeschlagen");	 
24.
		 
25.
		$sql    = sprintf("SELECT * FROM `wp_plz` WHERE plz = %05u",$plz); 
26.
		$query  = mysql_query($sql); 
27.
		 
28.
		if(mysql_num_rows($query) == 1) { 
29.
			$result = mysql_fetch_row($query); 
30.
			echo "Name: " . $result['Name']. "; Ort: " . $result['Ort']; 
31.
		} else
32.
			echo 'Sorry, keine Einträge gefunden!'
33.
34.
		 
35.
36.
 
37.
?>
Übrigens ist eine Suche nach Postleitzahlen nicht immer ideal.
Jemand der im 97xxx-Gebiet wohnt hat u.U. einen näheren Ansprechpartner im 36xxx-Gebiet...

Grüße

Max
Bitte warten ..
Mitglied: Cubic83
26.09.2009 um 20:46 Uhr
Ersetz mal PLZ_DER_ANFRAGSEITE durch irgendwas kurzes, wie z.b ptplz oder so. Ich glaube die _ werden nicht richtig übertragen.
Bitte warten ..
Mitglied: Cubic83
26.09.2009 um 20:48 Uhr
Kannst du noch kurz sagen was das %05u genau bewirkt, bzw. wo man das nachlesen kann? Habe diese Schreibweise noch nie gesehen. Würde mich interessieren.
Bitte warten ..
Mitglied: dog
26.09.2009 um 21:04 Uhr
Steht alles erklärt:

http://de2.php.net/sprintf

% - Beginn der Steuersequenz
0 - Fülle Platz mit 0en auf
5 - Benutze mind. 5 Stellen
u - Formatiere die Zahl als positive Ganzzahl.

Grüße

Max
Bitte warten ..
Mitglied: aruba1
27.09.2009 um 13:12 Uhr
Hallo nochmal,

also irgendwie bin ich am verzweifeln. Es klappt einfach nicht.

Villeicht hoch mal meine Vorgehensweise. Vielleicht mache ich ja etwas grundlegendes falsch.

Ich habe eine Tabelle mit dem PHPMYADMIN angelegt.
Tabellenname: wp_plz
Felder:
plz
name
ort

In diese Tabelle habe ich meine Daten importiert

Beispiel:
plz name ort
55437 Maier Appenheim

Jetzt habe ich eine Datei stellt mit dem Namen myform.php. Darin steht:

01.
<form method="post" name="myForm" action="auswertung.php">  
02.
<input type="text" name="PLZ_FELD_DER_ANFRAGESEITE"> 
03.
<input type="submit" value="Suchen"> 
04.
</form> 
Dann habe eine Dateierstellt mit dem Namen auswertung.php. Darin steht:

01.
<? 
02.
define ( 'MYSQL_HOST', 'localhost' ); 
03.
define ( 'MYSQL_BENUTZER', 'xxxx' ); 
04.
define ( 'MYSQL_KENNWORT', 'xxxx' ); 
05.
define ( 'MYSQL_DATENBANK', 'xxxx' ); 
06.
 
07.
	// SQL-Befehl für den Zugriff 
08.
$SQL = "SELECT * FROM 'wp_plz' WHERE PLZ='".$_POST['PLZ_DER_ANFRAGESEITE']."'"; 
09.
$result = mysql_query($SQL); 
10.
 
11.
if (mysql_num_rows($result) > 0) 
12.
13.
   echo "Name: " . mysql_result($result, 0, 'Name'). "; Ort: " . mysql_query($result, 0, 'Ort'); 
14.
15.
else  
16.
17.
   echo 'Sorry, keine Einträge gefunden!'; 
18.
19.
 
20.
?>
Was zum KUCKUCK mache ich denn hier faslch????

Danke
Bitte warten ..
Mitglied: Cubic83
27.09.2009 um 13:21 Uhr
Hello again,

Erstens lese ich noch immer PLZ_DER_ANFRAGESEITE. Ersetz das mal durch was kurzes wie ptPLZ. In den beiden Dateien.

Zweitens: Wenn das der gesamte Inhalt der auswertung.php ist fehlt der Teil mit dem Verbindungsaufbau :

01.
 
02.
<?php 
03.
 
04.
	define ( 'MYSQL_HOST', 'localhost' ); 
05.
	define ( 'MYSQL_BENUTZER', 'xxxxxxx' ); 
06.
	define ( 'MYSQL_KENNWORT', 'xxxxxxx' ); 
07.
	define ( 'MYSQL_DATENBANK', 'xxxxxxx' ); 
08.
 
09.
	$db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT); 
10.
	if ( ! $db_link ) { 
11.
		die('keine Verbindung zur Zeit möglich - später probieren '); 
12.
13.
 
14.
	mysql_select_db( MYSQL_DATENBANK ) 
15.
		or die("Auswahl der Datenbank fehlgeschlagen");	 
16.
	 
17.
                     ........... 
18.
?> 
19.
 


Mit freundlichen Grüßen
Bitte warten ..
Mitglied: aruba1
27.09.2009 um 13:45 Uhr
Hallo,

ich hatte das mit dem PLZ_DER_ANFRAGESEITE schon geändert. Hatte aber auch nix gebrcht. Es ist aber jetzt aktuell ptPLZ

Leider kommt jetzt immer: Sorry, keine Einträge gefunden!

Habe den SQL mal ausgegeben. Er lautet: SELECT * FROM 'wp_plz' WHERE PLZ='55218'

Wenn ich diesen SQL im PHPMYADMIN laufen lasse kommt auch ein Ergebnis.

Ich denke das wir der Lösung dank eurer Hilfe ganz nahe sind.

Viellecht kann sich ja jemand per Teamviewer bei mir einwählen. Ein Bild sagt manchmal mehr wie 1000 Worte.
Bitte warten ..
Mitglied: Cubic83
27.09.2009 um 13:54 Uhr
Und die fetch_row Variante von Dog? Nimm doch mal Dog's Code und kopiere ihn 1zu1. Das müsste hinhauen.


Teamviewer fällt bei mir aus - mache ich grundsätzlich nicht.

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: aruba1
27.09.2009 um 14:04 Uhr
Habe ich gemacht. Da kommt garnix als Ergebnis. Einfach nur eine leere Seite. Ich glaub ich geb auf.
Bitte warten ..
Mitglied: Cubic83
27.09.2009 um 14:07 Uhr
Du brauchst nicht aufzugeben. Poste doch mal beide Dateien genau so wie sie jetzt sind. Poste zusätzlich noch die Tabellenstruktur und den Inhalt so wie er in PHPmyAdmin angegeben ist. Das kriegen wir schon hin.

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: aruba1
27.09.2009 um 14:22 Uhr
Danke für die Ausdauer:


Datei myform.php

01.
<form method="post" name="myForm" action="auswertung.php">  
02.
<input type="text" name="ptPLZ"> 
03.
<input type="submit" value="Suchen"> 
04.
</form> 

Datei Auswertung.php
01.
<?php 
02.
/*Configure your database connection*/ 
03.
$dbhost = 'localhost'; 
04.
$dbuser = 'xxxxx'; 
05.
$dbpass = 'xxxxx'; 
06.
 
07.
/*Connect to the database.*/ 
08.
$conn = mysql_connect ($dbhost, $dbuser, $dbpass) 
09.
		or die 
10.
		('There was an error connecting to the database.'); 
11.
		 
12.
/*Select your WordPress database.*/ 
13.
$dbname = 'xxxxx'; 
14.
mysql_select_db ($dbname); 
15.
 
16.
$SQL = "SELECT * FROM 'wp_plz' WHERE PLZ='".$_POST['ptPLZ']."'";  
17.
$result = mysql_query($SQL); 
18.
 
19.
if (mysql_num_rows($result) > 0) 
20.
21.
   echo "Name: " . mysql_result($result, 0, 'Name'). "; Ort: " . mysql_query($result, 0, 'Ort'); 
22.
23.
else  
24.
25.
   echo 'Sorry, keine Einträge gefunden!'; 
26.
}	 
27.
?>



Tabellenstruktur im PHPMYADMIN

Feld Typ Kollation Attribute Null
plz varchar (5) utf8_general_ci Nein
name varchar (40) utf8_general_ci Nein
Ort varchar (50) utf8_general_ci Nein



Inhalt der Tabelle z. B.:

plz name Ort
55218 Karl Napp Ingelheim
und noch 1000 andere Datensätze



SQL Befelhl im P`HPMYADMIN den ich abschicke

SELECT * FROM `wp_plz` WHERE `plz`=55218

Ergebnis:
55218 Karl Napp Ingelheim



Aber im SQL-Befehl im PHPMYADMIN steht dann oben:

SELECT *
FROM `wp_plz`
WHERE `plz` =55218
LIMIT 0 , 30

Ich hoffe ich habe nix vergessen.
Bitte warten ..
Mitglied: Cubic83
27.09.2009 um 14:43 Uhr
Ok,

dann folgendes:

1)
01.
 
02.
$dbname = 'xxxxx';  
03.
mysql_select_db ($dbname);  
04.
 
sollte am besten lauten:

01.
 
02.
mysql_select_db('xxxxxx'); 
03.
 
Man sollte es sich abgewöhnen für alles Variablen zu benutzen. Variablen verbrauchen speicher. PHP verwaltet den Speicher zwar extrem effizient, aber trotzdem ist es eine schlechte Angewohnheit. Das hat aber nichts mit dem Fehler zu tun!

2. Code

Versuch mal genau diesen Code:


01.
 
02.
<?php 
03.
 
04.
/*Connect to the database.*/ 
05.
 
06.
$conn = mysql_connect ('localhost', 'xxxxxx', 'xxxxxx') or die ('There was an error connecting to the database.'); 
07.
		 
08.
mysql_select_db ('xxxxxx'); 
09.
 
10.
$SQL = "SELECT * FROM 'wp_plz' WHERE plz='".$_POST['ptPLZ']."'";  
11.
 
12.
$result = mysql_query($SQL); 
13.
 
14.
while ($row = mysql_fetch_row($result)) { 
15.
    echo "<br>".$row['name'].' - '.$row['Ort'].' - '.$row['plz']; 
16.
17.
 
18.
mysql_free_result($result); 
19.
mysql_close($conn); 
20.
 
21.
?> 
22.
 
Kopier den Code indem du auf den Link "In den Arbeitspeicher kopieren" klickst (hier im Forum über dem Code-Block) und dann in die Datei kopierst. Kopier es bitte genau so, da auch manches an der Gross/Kleinschreibung geändert wurde.

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: aruba1
27.09.2009 um 14:59 Uhr
Hallo,

habe den Code kopiert und nur noch den DB Namen, PW eingegen.

hier der Link zu myform.php
http://aruba1.ar.funpic.de/myform.php

Gib die PLZ 55218 ein. Die gibt es

Mit freundlichen Grüßen

PS:

Hier habe ich nur eine Test gemacht ob die DB Konfig überstimmt

http://aruba1.ar.funpic.de/new.php
Sieht denke ich gut aus. Ich habe nur abgefragt wieviel Datensätze die Tabelle wp_plz enthält.
Bitte warten ..
Mitglied: Cubic83
27.09.2009 um 15:08 Uhr
Hast du einen FTP am laufen? Dann kannst du mir vielleicht die Zugangsdaten (per PN!) geben.

Ansonsten bekommst du ja die Meldung

"Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/aruba1/auswertung.php on line 13"

Das heisst genau dass die Variable $result keinen gültigen Zeiger auf die Resultate hat. Oder anders gesagt: Irgendwas schmeckt ihm nicht an der Zeile $result= mysql_query($SQL). Was ihm nicht schmeckt sagt er dir auch wenn du die Zeile

01.
 
02.
echo "<br>".mysql_error($conn); 
03.
 
hinter die "$result"-Zeile anfügst.

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: aruba1
27.09.2009 um 15:28 Uhr
Hallo,

ich habe die Zeile eingefügt

Ergebnis:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''wp_plz' WHERE plz='55218'' at line 1

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/aruba1/auswertung.php on line 14

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/aruba1/auswertung.php on line 18

Kann das sein das hier ein " oder ' zuviel oder zuwenig ist?

Ich habe immer noch den Code den du mir gerade gepostet hast.

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: Cubic83
27.09.2009 um 15:41 Uhr
Vom Code her müsste es passen. Wenn du glaubst dass der SQL Code das Problem ist, kannst du das testen indem du ein

01.
 
02.
echo "<br>".$SQL; 
03.
 
einfügst. Entweder du siehst den Fehler sofort oder aber du kannst die Query in phpmyadmin eingeben. Es kann auch schon helfen wenn du die query mal folgendermassen abänderst:

01.
 
02.
$SQL = "SELECT * FROM 'wp_plz' WHERE plz='55218'";   
03.
 
Wichtig: Ändere bitte sonst nichts weil sonst sprechen wir ständig von verschiedenen Versionen und drehen uns dauernd im Kreis.

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: aruba1
27.09.2009 um 16:00 Uhr
Hallo,

habe folgendes gemacht:

1. echo "<br>".$SQL; eingefügt und den SQL in PHPMYADMIN eingesetzt.
2 Ergebnis davon war ein Fehler. Ungültige Schreibweise.
3. Den SQL Befehl in PHPMYADMIN von Hand eingegeben.
Ergebis geht.

SQL der PHP Seite in PHPMYADMIN eingegeben (geht nicht)
SELECT * FROM 'wp_plz' WHERE plz='55218'


SQL von Hand in PHPMYADMIN (geht)
SELECT * FROM `wp_plz` WHERE 1=55218

Man beachte die ' vor und hinter der 55218
und
die ` vor und hinter wp_plz

liegt hier der Fehler?
Bitte warten ..
Mitglied: Cubic83
27.09.2009 um 16:04 Uhr
Dann ändere das doch mal um:

01.
 
02.
$SQL = "SELECT * FROM `wp_plz` WHERE 1=55218"; 
03.
 
Vielleicht hat sich die Schreibweise mit den Versionen geändert. Ich arbeite seit einem Jahr nicht mehr mit mySQL.

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: aruba1
27.09.2009 um 16:21 Uhr
Hallo,

erstes Erfolgserlebis:

Das hat geklappt

http://aruba1.ar.funpic.de/myform.php
01.
$SQL = "SELECT * FROM `wp_plz` WHERE plz=55218";


Wie kriege ich das jetzt noch hin das er die PLZ aus der myform.php übernimt???

DDDDDDDDDDDDAAAAAAAAAANNNNNNNNNNNNNKKKKKKKKKKKKKKKKKKKEEEEEEEEEEEE
Bitte warten ..
Mitglied: Cubic83
27.09.2009 um 16:28 Uhr
Also wenn ihm die Apostroph nicht schmecken dann:

01.
 
02.
$SQL = "SELECT * FROM `wp_plz` WHERE 1=".$_REQUEST['ptPLZ']; 
03.
 
04.
oder 
05.
 
06.
$SQL = "SELECT * FROM `wp_plz` WHERE 1=".$_POST['ptPLZ']; 
07.
 
08.
 
Bitte warten ..
Mitglied: aruba1
27.09.2009 um 16:43 Uhr
Hallo,


dads hat geklappt.

01.
$SQL = "SELECT * FROM `wp_plz` WHERE plz=".$_REQUEST['ptPLZ']; 
Vielen Dank an Cubic83 und die anderen

Schönes Wochenende noch
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
PHP
MySQL-Abfrage mit php: Wert + true bzw. false (2)

Frage von tomolpi zum Thema PHP ...

PHP
gelöst PHP Dropdownmenü mit SQL-Abfrage (4)

Frage von tobmes zum Thema PHP ...

PHP
gelöst Php regex und Array (5)

Frage von Thomas91 zum Thema PHP ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...