Datensatz suchen und verarbeiten
beNNi
- php
Hallo,
ich habe mir eine Tabelle angelegt mit einer ID und einer Beschreibung.
In einem 2. Formular, lege ich noch weitere Daten zur ID an.
Jedoch soll mein Script erst überprüfen, ob die ID vorhanden ist.
Die Überprüfung ist kein Problem, aber die Abfrage..
Er soll mir also den Datensatz raussuchen, der die ID besitzt, und mit der ID weiterarbeiten..
Code
$abfrage = mysql_query ("SELECT * FROM produkte
WHERE ID'".$_GET['ID_neu']."'");
if ($abfrage == $ID_neu )
Leider sagt er mir, wenn ich eine richtige ID eingebe, das diese nicht gefunden wurde.
Lasse ich mir das Abfragenergebnis ausgeben, erscheint "Ressource #3".
Wie kann ich es anstellen, das er den richtigen DS raussucht, und die if Bedingung dann ordnungsgemäß ausführt.
Gruß benni
Hallo
$abfrage = mysql_query ("SELECT * FROM
produkte
WHERE ID'".$_GET['ID_neu']."'");if ($abfrage == $ID_neu )
Leider sagt er mir, wenn ich eine richtige ID eingebe, das diese nicht gefunden wurde.
Lasse ich mir das Abfragenergebnis ausgeben, erscheint "Ressource #3".
Du musst die zurückgegebene Ressouce erst auslesen. Dazu gibt es mehrere PHP-Funktionen, z.B. mysql_fetch_array, mysql_fetch_assoc, naja, alle Funktionen, die mit 'mysql_fetch' beginnen.
siehe: php.net: mysql-Funktionen
Tschö, Auge
Ups, das = ist im Quelltext drinne, ist wohl beim posten rausgerutscht!
Problem also immer noch da :-((
Hallo
Ups, das = ist im Quelltext drinne, ist wohl beim posten rausgerutscht!
Problem also immer noch da :-((
Hast du das Ergebnis deiner Abfrage mittlererweile mit einer 'mysql_fecht_...'-Funktion behandelt, wie ich es dir schrieb? Offensichtlich nicht, wobei mich wundert, dass dir dein PHP5-Buch, welches du erwähntest, dazu keine Angaben macht.
Also in Kurzform:
// der Query (wir wollen nur die IDs der Datensaetze)
$anfrage = "SELECT id FROM ...";
// uebergabe des Query an die DB und Rueckgabe
// des Ergebnisses der Anfrage in Form einer DB-Kennung
$ergebniskennung = mysql_query($anfrage);
// Auslesen der Ergebniskennung innerhalb einer Schleife
// und Ausgabe der IDs, je eine pro Zeile
while ($ergebnis = mysql_fetch_assoc($ergebniskennung)) {
echo $ergebnis["id"]."<br>";
}
Ich habe hier mysql_fetch_assoc()
verwandt, da ich somit ohne Umschweife auf die Elemente unter ihrem Spaltennamen in der DB zugreifen kann. Das vereinfacht die Anpassung des Skriptes, falls sich die Struktur der Datenbank ändert. Alternativ würde auf die Nummer der Spalte zugegriffen werden ($ergebnis[0]
, falls ID die erste Spalte der Tabelle ist).
Tschö, Auge
Hi,
Hast du das Ergebnis [...] mit einer 'mysql_fecht_...'-Funktion behandelt,
Ganz wichtig: vorher mysql_en_garde() aufrufen!
Und natürlich festlegen, ob Degen oder Säbel benutzt werden.
;-)
cu,
Andreas
Grundlage für Zitat #810.
Hallo
Hast du das Ergebnis [...] mit einer 'mysql_fecht_...'-Funktion behandelt,
Ganz wichtig: vorher mysql_en_garde() aufrufen!
Und natürlich festlegen, ob Degen oder Säbel benutzt werden.;-)
Als Feingeist bevorzuge ich das Florett. Allerdings ... als Grobmotoriker sollte ich doch lieber den Rapier benutzen. Und zum Schluss ersteche ich meinen Gegner mit dem Löffel. Warum Löffel? Weil der schön stumpf ist.
;-)
Tschö, Auge
Hello,
$abfrage = mysql_query ("SELECT * FROM
produkte
WHERE ID'".$_GET['ID_neu']."'");
abgesehen von der anderen Antwort in Bezug auf die Auswertung - ist DAS dein Oroginalstatement? Da ist ein Syntaxfehler drin, du führst keinen Vergleich zwischen ID und $_GET... aus...
MfG
Rouven
Dadurch das ich gerade dabei bin PHP zu lernen, und von MySQL außer ein paar Abfragen noch nicht mehr gehört habe, hab ich den Befehl zum Suchen von einem PHP 5.0 Buch....
Der Rest ist natürlich selbst geschrieben, aber mit den Abfragen haperts halt :-(
Hello,
Der Rest ist natürlich selbst geschrieben, aber mit den Abfragen haperts halt :-(
jaja, aber du hast dich beim Abschreiben vertan...
ID='".$_GET['id']."'
-> das = fehlt
MfG
Rouven