MySQL-Schleife
gerena
- datenbank
Hallo.
Habe ganze Nacht mit MySQL verbracht - wer kann helfen?
....
$result=mysql("$DBName","SELECT text FROM text
WHERE textNa='adresse' OR textNa='RegisterDaten'
OR textNa='bank'");
while ($row = mysql_fetch_row($result)) {
$ADRESSE=$row[0];
$REGISTER=$row[1];
$BANK=$row[2];
}
echo "$ADRESSE $REGISTER $BANK";...
Als Ergebniss bekomme ich nur $BANK.
Vielen Dank.
Hallo,
Habe ganze Nacht mit MySQL verbracht
Ohje...da gibt es aber bessere möglichkeiten :)
....
$result=mysql("$DBName","SELECT text FROM text
WHERE textNa='adresse' OR textNa='RegisterDaten'
OR textNa='bank'");
Du hast in Deinem Select nur eine einzige Spalte (SELECT text from text...), daher kommt auch nur ein Feld zurück.
Probier mal z.b. "SELECT * FROM text WHERE..."
Viele Grüße,
Jörg
Hallo,
Habe ganze Nacht mit MySQL verbracht
Ohje...da gibt es aber bessere möglichkeiten :)....
$result=mysql("$DBName","SELECT text FROM text
WHERE textNa='adresse' OR textNa='RegisterDaten'
OR textNa='bank'");Du hast in Deinem Select nur eine einzige Spalte (SELECT text from text...), daher kommt auch nur ein Feld zurück.
Probier mal z.b. "SELECT * FROM text WHERE..."Viele Grüße,
Jörg
Ich habe gerade versucht. Ergebniss ist noch schlimmer: "11 bank".
Wie genau sieht denn deine SQL-Tabelle aus? welche Spalten hast Du, und was steht da so drin?
Wie genau sieht denn deine SQL-Tabelle aus? welche Spalten hast Du, und was steht da so drin?
Ganz einfache Tabelle:
id textNa text
_______________________
1 home ....
2 adresse xxxx
3 bank xxxxx
usw. Drin steht Text. Ich möchte diese Texte von Spalte "text" bekommen, falls "TextNa" heisst Adresse oder Bank.
Hallo,
Dann sollte das folgende eigentlich gehen:
$result=mysql("$DBName","SELECT * FROM text
WHERE textNa='adresse' OR textNa='RegisterDaten'
OR textNa='bank'");
while ($row = mysql_fetch_row($result)) {
$ADRESSE=$row[0];
$REGISTER=$row[1];
$BANK=$row[2];
$TEXT = $row[3];
echo $TEXT;
}
Hallo,
Dann sollte das folgende eigentlich gehen:
$result=mysql("$DBName","SELECT * FROM text
WHERE textNa='adresse' OR textNa='RegisterDaten'
OR textNa='bank'");
while ($row = mysql_fetch_row($result)) {
$ADRESSE=$row[0];
$REGISTER=$row[1];
$BANK=$row[2];
$TEXT = $row[3];
echo $TEXT;
}
$TEXT ist schon vierte ausgabe, aber ich habe von DB nur drei abgefragt. Aber trotzdem habe ich versucht: Ergebniss - nix.
Ich brauche von Tabelle "text" nur 3 Texte. Ich kann natürlich jede einzelne abholen, aber das sieht nicht besonders klug.
Vielen dank für Mühe
echo $begrüßung;
Probier mal z.b. "SELECT * FROM text WHERE..."
Ich habe gerade versucht. Ergebniss ist noch schlimmer: "11 bank".
Das ist kein großes Wunder. Der Tipp mit dem SELECT * ist bei einer Verwendung der Rückgabewerte anhand einer Position im Ergebnisdatensatz nicht besonders toll.
Wenn du die Daten anhand der Reihenfolge ansprichst solltest du auch die gewünschte Reihenfolge explizit angeben: SELECT feld1, feld2, feld3, ...
Wenn es unbedingt SELECT * sein soll, dann solltest du die Felder über ihrem Namen ansprechen. Ensprechend wäre dann mysql_fetch_assoc() statt mysql_fetch_row() zu verwenden.
Desweiteren ist dein Code nicht gegen Fehler abgesichert. Wenn MySQL aus irgendeinem Grund eine Fehlermeldung generiert ist das Ergebnis von mysql() (das soll wohl mysql_query() heißen) kein für mysql_fetch_*() zulässiger Wert.
Schau dir mal an, wie das Dieses Beispiel im Handbuch aufgebaut ist: http://de.php.net/manual/en/ref.mysql.php#mysql.examples
echo "$verabschiedung $name";
Hallo,
$result=mysql("$DBName","SELECT text FROM text
WHERE textNa='adresse' OR textNa='RegisterDaten'
OR textNa='bank'");
while ($row = mysql_fetch_row($result)) {
$ADRESSE=$row[0];
$REGISTER=$row[1];
$BANK=$row[2];
}echo "$ADRESSE $REGISTER $BANK";...
Auszug aus anderem Posting:
Wie genau sieht denn deine SQL-Tabelle aus? welche Spalten hast Du, und was steht da so drin?
Ganz einfache Tabelle:
id textNa text
_______________________1 home ....
2 adresse xxxx
3 bank xxxxx
Da die gesuchten Ergebnisse in mehreren Datensätzen sind, musst Du auch dem entsprechend auswerten. Ich würde das Feld 'textNa' auch abfragen und abhängig vom Wert dieser Spalte die entsprechenden Variablen setzen. Wie das in PHP genauch gemacht werden kann weiss ich allerdings nicht, da mich diese Sprache nicht interessiert.
Und noch was: Woher nimmst Du die Gewissheit, dass die Daten in der von Dir gewünschten Reihenfolge daherkommen, ohne dass Du eine Sortierung angibst?
Grüße
Klaus
Hallo,
Für die die den Thread im Archiv finden: der Thread geht in https://forum.selfhtml.org/?t=119078&m=763517 weiter.
Grüße aus Nürnberg
Tobias