ich will eine Abfrage mir ausgeben lassen.
Habe dazu diesen PHP-Code -->
<?php error_reporting(E_ALL | E_NOTICE); ini\_set('display\_errors','On');
$host = "host";
$user = "user";
$password = "password";
$dbname = "dbname";
$tabelle ="tabelle";
$dbverbindung = mysql\_connect ($host, $user, $password);
$result = mysql\_query('SELECT \* FROM $tabelle where id=$\_POST[id]);
echo $result
?\>
Im Grunde muss das doch so gehen! (es muss einfach) - aber hmmmm, es geht nicht.
Bringt Fehlermeldung **Notice: Undefined index: id in C:\xampp\htdocs\webuser.php on line 20**
????
Mag mir einer kurz den korrekten Aufbau einer solchen Abfrage zutun?
Danke
Gruß Rolf
Diese Abfrage funtzt, aber ist nicht das was ich will (
Ich habe ja hier die Textbox Array[id] und hier möchte ich eben die „id“ eingeben, für die Abfrage
Ich habe auch schon $_POST[id] udn $Array und $id versucht, aber nuescht haut wirklich hin.
das mal an den anfang der Seite dann sollte beim aufruf der Seite eine ausgabe ganz oben stehen … diese untersuchst du dann nach einem Key der ID heißt …
Wenn du das hast suchen wir weiter wo das problem liegen könnte …
Wenn du in HTML eine variable Array[id] nennst mußt du sie halt auch genauso in php abfragen. Da sie dort selbst in die $_POST variable (Array) geschrieben wird ist es halt $_POST[‚Array‘][‚id‘].
Und im gegensatz zum HTML setzt man bei associativen Arrays in PHP anführungszeichen drum. Das macht man damit man nicht irgendwann mal in ein durcheinander mit statisch deklarierten Variablen kommt die nämlich auch ohne anführungszeichen geschrieben werden. Und da die überall gelten sucht man sich dann zu Tode wo der Fehler steckt.
Das ‚id-Problem‘ sollte Lamer gerade gelöst haben.
Mir ist aber noch etwas anderes aufgefallen. Wenn Du mehr als eine Datenbank für den gleichen Nutzer auf dem gleichen Server laufen hast, musst Du die Datenbank, die Du verwenden willst, vor den Abfragen einmalig selektieren:
mysql_select_db($dbname);
An dieser Stelle solltest Du als Ergebnis schon mal eine schmucke „1“ bekommen - denn das ist der Rückgabewert von Deiner Abfrage $result im Erfolgsfall.
Wenn Du den tatsächlichen Datensatz ausgeben willst, mußt Du ihn noch mit mysql_fetch_object(), mysql_fetch_array() oder mysql_fetch_row() verfügbar machen - wenn Du mehr als einen Datensatzt erwartest in einer Schleife.
$dbanfrage = 'SELECT \* FROM tabelle where id=$\_POST['Array']['id']';
Auch mit Anführungszeichen, aber er bringt hier nen Parse-Error
Parse error: parse error in C:\xampp\htdocs\webuser.php on line 22
Ich muss auch ehrlich gestehen, dass mit dem
$\_POST['Array']['id']';
ist mir total neu. Ich versteh auch ned ganz.
Das Textfeld „deklariere“ ich ja als Array und benenn das Array eben id.
Das Array übergebe ich per $_POST weiter, bzw. den Inhalt des Arrays. also die id …
Wenn du in HTML ein inputfeld deklarierst wie folgt:
Dann bekommst du in PHP ein $_POST[‚test‘] dabei herraus.
Wenn du jetzt in HTML schreibst:
Dann hast du damit ein Array deklariert. Du brauchst also nicht erst array schreiben. Die eckigen Klammern in Name sagen HTML das dort ein Array ist. In PHP würdest du jettz so darauf zu greifen:
$_POST[‚test‘][‚test1‘];
In deinem Fall hast du also eine Variable in HTML deklariert die „Array“ heißt. Diese ist ein Array mit dem Assoziativen Index „id“.
Also nicht das Array mach das Array in HTML zum Array (das wäre in javascript so) sondern die Eckigen klammern hinter dem Variablen Namen in deinem Fall der name „Array“.
Hoffe das ist jetzt klarer.
Zu deinem neuen Problem. Parse_error heißt das der PHP Parser irgendwo einen Syntaktischen Fehler in deinem Code findet. Meisst ein ; was fehlt oder klammern oder ein vergessener " oder '.
Zu deinem neuen Problem. Parse_error heißt das der PHP Parser
irgendwo einen Syntaktischen Fehler in deinem Code findet.
Meisst ein ; was fehlt oder klammern oder ein vergessener "
oder '.
… oder die Tatsache, daß ein reservierter Begriff (‚Array‘) als Variablenname verwendet wurde?
joha damit haben wir das Problem gelöst und ein neues ist offensichtlich geworden …
dafür brauch ich allerdings mehr als nur die zeile 26 … weil da wird der Fehler zwar ausgelöst aber der entsteht wo anders … also bitte noch mal den restlichen sourceCode
So … lol Rolf nach deinen Posts bin ich immer verwirrt …
ich geh mal mit dir alles langsam einzeln durch:
$dbanfrage = 'SELECT \* FROM datenbank.tabelle WHERE id=' .$\_POST['id']or die( mysql\_error() );;
Also erstmal datenbank.tabelle muß dann wirklich eine Datenbank sein die datenbank heißt und die Tabelle muß tabelle heißen. Außer du hast das geändert.
Weiterhin die dbanfrage ist nur ‚SELECT * FROM datenbank.tabelle WHERE id=‘ . $_POST[‚id‘];
Mehr nicht. Das "or die (mysql_error() ) gehört da nicht hin;
Hier ist soweit alles richtig obwohl ich immer die MySQL verbindung einzeln aufbau und dann darauf die Abfragen mache und nicht für jede Abfrage eine einzelne Verbindung. Aber das nur am Rande.
Der Rest ist insofern nicht fehlerhaft da er nichts mit dem MySQL fehler zu tun hat.