SQL-Fehler

Grunge

Erfahrenes Mitglied
HEy Leute,

Ich versuche gerade was in meiner Datenbamk einzutragen doch es klappt nicht. Ich hab das halbe Forum durch gesucht und hab statt dieser

$var="INSERT INTO table (spalte, spalte) VALUES (value, value)";

diese Schreibweise genutzt:

$var="INSERT INTO
`table`
Set
.....";

Aber ich bekomme diesen Fehler:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 9

hoffe ihr könnt mir weiterhlfen !? !? ich weiß nicht as ich falsch mache...anmerkung betreff und message sind zeichenketten...

(ZEILE 9 ist in diesem Fall nach "SET")

PHP:
$to=$_GET['user'];
$absender=$_SESSION['ID'];

$sql = " 
            INSERT INTO 
                    `messages` 
              SET 
                    `absender` = '".$absender."', 
                    `titel` = '".mysql_real_escape_string($_POST['betreff'])."', 
					`msg` = '".mysql_real_escape_string($_POST['message'])."', 
					`to` = '".$to."', 
					`read` = '0', 
					`date` = NOW(), 
            ";
		mysql_query($sql) OR die(mysql_error());
 
Hallo Grunge,

Also einen Fehler habe ich schonmal gefunden.
Entfernen mal hinter NOW() das KOMMA!

Ich hoffe mal nun läuft alles

Grüße Ecthelion


.... Ich sollte mir etwas mehr Zeit mit meinen Beiträgen lassen....
 
Zuletzt bearbeitet:
Grunge hat gesagt.:
$var="INSERT INTO table (spalte, spalte) VALUES (value, value)";
So musst du dies auch anwenden. Versuche es also mit dem folgenden Code.
Code:
INSERT INTO `messages` 
	(absender, titel, msg, to, read, date)
VALUES (
	'". $absender ."',
	'". mysql_real_escape_string($_POST['betreff']) ."',
	'". mysql_real_escape_string($_POST['message']) ."', 
	'". $to ."', 
	'0', 
	'". time() ."')
 
Die INSERT INTO … SET …-Syntax hat vor allem den Vorteil, dass sie übersichtlicher ist und damit nicht so schnell etwas „unter den Tisch fallen“ kann, wie es bei der INSERT INTO … VALUES (…)-Syntax schnell der Fall sein kann. Ein Nachteil ist jedoch, dass immer nur ein Datensatz auf einmal eingefügt werden kann.
 
Ich glaub ich steh grad auf dem Schlauch, aber wie kann man denn mehrere Einträge mit der INSERT INTO ... VALUES Methode mit nur einem Query reinspeichern? In einer Schleife gehts natürlich, aber ohne?

Hmm, mit INSERT INTO ... SET gings in einer Schleife eh nicht, wenn ich mich nicht irre ;>
 
Zurück