Variable lässt sich nicht in db eintragen!

Benzol

Erfahrenes Mitglied
Ahoi an alle!
Versuche grad ein Script zu schreiben, mit welchem ich die Daten aus einem Formular auswert, bearbeiten und in der Datenbank speichern kann :eek:
Problem bei der Sach scheint wohl der str_replace(); Befehl zu sein mit welchem ich Textteile ersetzten lasse. Sobald diese Ihren Dienst tun, lässt sich die Var $tutorial nicht mehr in die Spalte (Text) der db eintragen. Vorher geht es. Ich schreibe mal den code von den str_replace(); Funktionen.
PHP:
//Smilies einfügen
if($option2 == 'Yes')	{
	$query = mysql_query("Select * from Smilies"); 
	while ($result = mysql_fetch_array($query)){ 
			$smilie = $result["Name"]; 
			 $url = $result["URL"];
			$tutorial = str_replace($smilie,"<img src='$url'  border='0'>",$tutorial); 
	} 
}
Als Beispiel. Ich denke, ihr wisst was dieser Code macht.
Und das ist der Normale Befehl zum eintragen, welcher auch funktioniert (normal)
PHP:
$query ="INSERT INTO Tutorials (Betreff, Autor, Datum, Text) VALUES ('$bereff', '$username', '$date', '$tutorial')";
if(mysql_query($query))
	echo "Alle Daten wurden erfolgreich gespeichert!<br>";
		else
			echo "Fehler beim Eintragen der Daten!<br>";
Frage von mir wäre jetzt, da ich schon ein bissl probiert hab (den inhalt aus $Tutorial genommen und in mein Newsscript gepackt und so "reingepostet"... dan ging es, mit dem gleich Inhalt. Also denke ich nicht, das es am html-code liegt, der da reingeschrieben wird.) wie sich die var nach dem bearbeiten mit str_replace(); verändert und wie man das wieder so machen kann, das es sich in die DB eintragn lässt.
Danke für eurer Hilfe!
 
Das liegt daran, dass Du in der Variable $tutorial einfache Anführungszeichen verwendest, die die SQL-Anweisung syntaktisch unkorrekt machen.


Änder folgendes in Deinem Code:
PHP:
$query ="INSERT INTO Tutorials (Betreff, Autor, Datum, Text) VALUES ('".mysql_escape_string($bereff)."', '".mysql_escape_string($username)."', '".mysql_escape_string($date)."', '".mysql_escape_string($tutorial)'.")";
 
Also in deinem scheint was falsch zu sein... parser error. Hab das mal umgeändet, so dass es keine Fehler mehr angezeigt hat.
PHP:
$query ="INSERT INTO Tutorials (Betreff, Autor, Datum, Text) VALUES (".'mysql_escape_string($betreff)'.", ".'mysql_escape_string($username)'.", ".'mysql_escape_string($date)'.", ".'mysql_escape_string($tutorial)'.")";
Leider funktioniert das auch nicht. Entweder habe ich den Sinn deines Posts verfälscht, oder es ist richtig so wie ichs gemacht hab und es geht nicht :(
MfG
 
lass dir doch mal den mysql_error ausgeben, da sollte eigentlich nen Hinweis auf den Bug drinnen sein..... und am besten vorher noch den query als Text ausgeben... da ist er ja irgendwo begraben:)
 
So sollte es dann richtig sein:
PHP:
$query ="INSERT INTO Tutorials (Betreff, Autor, Datum, Text) VALUES
        ('".mysql_escape_string($bereff)."', '".mysql_escape_string($username)."',
         '".mysql_escape_string($date)."', '".mysql_escape_string($tutorial)."')";

snuu
 
Danke!

Ich danke dir für deine Hilfe. Jetzt funktioniert es (Hab das auch verstanden ;D ).
Steht ja auch inna phpHilfe... wusste halt net das es diesen Befehl gibt. Nochmal ein fettes DANKE ;)
 
Zurück