Ausgabe von mehrzeiligem Text und Prob mit MySQL
-
Hi!
1.
Ich hab ein News-Script und wollte mal folgendes fragen:Also, wenn ich die News aus der DB lade, wird der Text nur mit den natürlichen Zeilenümbrüchen angezeigt. Wie kann ich den mit Zeilenumbruch ausgeben, ohne ein <br>-Tag beim eingeben der News schreiben zu müssen?
Wieso werden die Daten nicht in meiner DB gespeichert? (siehe folgenden Source) Hab das Script auch wo anders und da funktioniert das, hab halt nur die Variablen und so geändert...
//Das Formular, mit dem die Daten geändert werden ac.php <?PHP $db = mysql_connect(); $sql="SELECT * FROM aufs ORDER BY diff DESC"; $res=mysql_query($sql, $db); while ($ligne = mysql_fetch_object ($res)) { print "<form action=ah.php method=post>"; print "<input name=nick type=text size=30 maxlength=30 value=$ligne->nick readonly>"; print "<input name=match type=text size=5 maxlength=4 value=$ligne->match>"; print "<input name=gew type=text size=5 maxlength=4 value=$ligne->gew>"; print "<input name=pl type=text size=5 maxlength=4 value=$ligne->pl>"; print "<input name=min type=text size=5 maxlength=4 value=$ligne->min>"; print "<input name=diff type=text size=5 maxlength=5 value=$ligne->diff readonly>"; print "<input name=id type=text size=5 maxlength=5 value=$ligne->id readonly>"; print "<input type=submit value=Ändern></form>"; } ?> //Hier sollen die Daten in der DB geupdatet werden ah.php <?PHP $db=mysql_connect(); $diff=$pl - $min; $sql="UPDATE aufs SET match='$match', gew='$gew', pl='$pl', min='$min', diff='$diff' WHERE id='$id'"; mysql_query($sql, $db); print ("Member geändert! <br><br> <a href=ac.php>Anderes Member ändern...</a>"); ?>
Hoffe mir kann jemand helfen
cya,
Master Death
-
1.) Schau dir mal die Funktion nl2br an - die dürfte das machen, was du suchst
2.) Normalerweise muss man bei mysql_connect noch server, username und passwort angeben
-
das ist es leider nicht das Problem, denn ich nutze Tripod. Und da muss man die Daten nicht angeben. Ausserdem funzt das andere Script ja auch und das hat auch nur mysql_connect();.
Edit: Hab's trotzdem mal mit den Verbindungsdaten probiert, funktioniert aber auch nicht...
Edit2: Das mit nl2br funzt, grossen Dank!
-
Schau mal in der DB nach, ob du auch die Felder alle richtig geschrieben hast in deiner UPDATE-Anweisung. Vielleicht hat er auch ein Problem mit dem Feld min, da es ja eine Funktion min() bei SQL gibt (reserviertes wort?).
-
Immer Rückgabewert von mysql_query() checken -> und dann eine Fehlermeldung ausgeben.
-
MasterDeath schrieb:
Hab das Script auch wo anders und da funktioniert das
Ich hatte das so verstanden, dass du das Script bisher z.B. bei Tripod hast (das man dort so connected weiß ich
) und jetzt das Script auf einem anderen Server aber nicht mehr läuft
Was gibt echo mysql_error(); aus?
-
@Shade
Wird überhaupt ein gültiger Result von mysql_query() geliefert, wenn es sich um ein INSERT, UPDATE oder DELETE handelt? Ich kenne dafür eigentlich nur die Funktion mysql_affected_rows().
-
echo mysql_error() hat folgendes gezeigt:
You have an error in your SQL syntax near 'match='1', gew='0', pl='0', min='0', diff='0' WHERE id='1'' at line 1
-
Ich merke gerade, dass bei dir wohl das mysql_select_db fehlt
-
Hab das auch mal ausprobiert, aber der error kommt weiterhin... Ich fang an zu verzweifeln...
-
Versuch es mal mit einer ganz simplen Abfrage um zu testen, ob es übnerhaupt funktioniert. Evtl. musst du die Spaltennamen in Auführungszeichen einschließen.
-
Hab mal das match rausgenommen und dann versucht, jetzt klappt das einwandfrei??
*lol* naja, ich versuch mal das anders zu Regeln...
thx für alles
-
hast du es mal mit match in Auführungszeichen eingeschlossen versucht?
-
ja, aber ich hab das Prob jetzt gelöst:
das is ne Datenbank mit dem Namen, der id, den gew./verl. Einzelspielen, sowie den gesamten Spielen, weil das is für nen Billard-Clan und ein Spiel geht, bis jemand 3 mal gewonnen hat. Match war die Anzahl der Spiele, die absolviert wurden und gew die davon gewonnen, sodass sich die verlorenen daraus errechnen liessen. Da match nicht ging, hab ich die Spalte aus der DB gelöscht und eine namens verl angelegt. Jetzt klappt das UPDATE (ohne match) und match wird aus gew und verl errechnet
thx 4 all
-
Du hättest aber auch einfach der Spalte einen anderen Namen geben können. match scheint eben ein MySQL-Schlüsselwort zu sein, deswegen hättest du es wohl nur eben in "" einschließen müssen, damit es als Bezeichner erkannt wird