Wieder mal MySQL - diesmal funktion das schreiben nicht

Dark Mania

Dark Mania

Mitglied
Thread Starter
Dabei seit
18.02.2006
Beiträge
173
Reaktionspunkte
0
Tach.

Hier erstmal der Code:

Code:
<?
	$nickname = $_POST["nickname"];
	$email = $_POST["email"];

	$genre = $_POST["genre"];
	$kurz = $_POST["kurz"];
	$description = $_POST["description"];

	srand(microtime()*1000000);
	$delete1 = rand(1,10000);
	$delete2 = rand(2,9999);
	$delete3 = rand(3,999);
	$delete4 = rand(4,99);
	$delete = $delete1 + $delete1 + $delete1 + $delete1;

	if($nickname == "" OR $email == "" OR $genre == "" OR $kurz == "" OR $description == "")
		{
		echo "FEHLER: Du hast nicht alle Felder ausgefuellt. Bitte kehre zur letzten Seite zurueck und ueberpruefe deine Angaben.";
		}
		else
		{
  mysql_connect("XDDD", "OH ROFL!","Nech?");
  mysql_select_db("rmsource");
  $eintrag = "INSERT INTO jobs (nickname, email, genre, kurz, description, delete) VALUES ('$nickname', '$email', '$genre', '$kurz', '$description', '$delete')" or die (mysql_error());
  $eintragen = mysql_query($eintrag) or die (mysql_error());


  			$betreff = "Deine Anzeige wurde aufgegeben";
  			$text = "Hallo $nickname. Deine Anzeige in der Jobboerse auf www.rm-source.de wurde aufgegeben. Wenn du deine Anzeige wieder entfernen willst, klicke auf folgenden Link: http://www.rm-source.de/index.php?id=jobs/delete.php&did=$delete .";
 			 mail($email, $betreff, $text,
     		  "From: RM-SOURCE.DE <info@rm-source.de>");

		echo "Deine Anzeige wurde aufgegeben. Dir wurde jetzt eine eMail an die von dir angegebene Adresse geschickt. In dieser eMail steht ein Code, den du zum loeschen deiner Anzeige brauchst.";




		}
?>

So, jetzt die Tabelle in PHPmyAdmin:

error.JPG

EDIT: id ist mittlerweile auto_increment. Fehler besteht weiterhin.

Fehlermeldung:

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 'delete) VALUES ('Dark Mania', 'sven@lesinformaticiens.lu', 'Suc

Das ist alles. Hilfe waere nett, danke schonmal.
 
Du kannst nicht
$variable = "SQL STATEMENT" or die() schreiben

du musst
$variable = "SQL STATEMENT";

$schreiben = mysql_query($variable) or die()
 
Kleiner Schuss in's Blaue: Der Spaltenname "delete" ist nicht
zulässig, da "DELETE" ein Keyword der SQL von MySQL ist.

Die Fehlermeldung lässt zumindest drauf schließen.
 
da fehlt doch id, und es ist nicht auto increment.
schreib die sqls lieber so:

$sql = "INSERT INTO bla
feld1='".$feld1."',
feld2='".$feld2."',
...";

Da macht man weniger Fehler.

Grüße

Edit: und das mit dem DELETE von moses_78 hoert sich auch gut an.
 
Es sind immer so klitzekleine Fehler, die alles blockieren.
Habe das delete in deleteID umbenannt, jetzt funktioniert es.

Obwohl ich nicht religioes bin; GOTT SEGEN EUCH! Danke =D
 
Was mir bei Deinem obigen Code dazu noch einfällt:
http://de.wikipedia.org/wiki/SQL-Injection

(mysql_real_escape_string und htmlentities sind Dein Freund) ;)

EDIT: Besser, Du löschst die Adresse aus dem Code-Zitat.
 
Zurück
Oben Unten