Thomas Luethi: INSERT funktioniert nicht

Beitrag lesen

Hallo,

1. Wenn der Schlüssel von Array-Variablen ein String ist, muss er in Anführungszeichen stehen.
Statt

$_GET[confirm]

also unbedingt
$_GET['confirm']
u.s.w.

2. Du übernimmst offenbar GET-Variablen ungeprüft in die Query.
Das ist sehr gefährlich!
Benütze mysql_escape_string() und mach Dich schlau zu Sicherheit im allgemeinen und SQL injection im speziellen!
Da Du die GET-Variablen eh umschreibst, kannst Du gleich bei diesem Schritt mysql_escape_string verwenden. Statt
$name = $_GET[name];
also:
$name = mysql_escape_string($_GET['name']);

3. Ich würde mir zu Kontrollzwecken mal den Query-String anzeigen lassen, um zu sehen, was mysql_query() tatsächlich an die Datenbank schickt.
(Wie auch Frank vorgeschlagen hat.)

Also  beispielsweise:

// Query-String zusammenbauen:  
$query_eintrag="INSERT INTO artefakte (name,info,str,dex,int,aus,lck) VALUES ('$name','$info','$str','$dex','$intel','$aus','$lck')";  
// Query abschicken:  
mysql_query($query_eintrag);  
// Allfällige Fehlermeldung anzeigen:  
mysql_error();  
// Query-String anzeigen:  
echo "<p>Query-String: $query_eintrag</p>";

HTH, mfg
Thomas

P.S. Man wird Dir hier bestimmt noch empfehlen, statt den "veralteten" mysql_*-Funktionen lieber die "modernen" mysqli_*-Funktionen zu benutzen.