muth Geschrieben 7. Februar 2004 Geschrieben 7. Februar 2004 Hi Leutz, ih hab nen Problem...also ich möchte mit dem Insert Befehl was in eine Datenbank über ein Formular einfügen...das funktioniert nicht. Es kommt aber keine Fehlermeldung - er fügt einfach nix ein...! Kann da einer helfen? Hier ist der Code vom Formular: <!-- news_einfuegen.php / Adminbereich --> <html> <head> <title>Admin-Bereich</title> <link rel="stylesheet" type="text/css" href="http://www.sebastian-muth.de/admin/admin_style.css"> </head> <body leftMargin="1" topMargin="1"> <b><h1>News einfügen</h1></b> <br> Sie können hier Ihrer Website wichtige News einfügen. <br> Zu wichtigen News zählt u. a. Stellungnahmen zu Serverausfällen, zu Updates, Viren, etc.! <br> <form name="news_einfuegen" method="POST" action="http://www.sebastian-muth.de/admin/html/news_einfuegen_db.php"> <table border="0" cellpadding="1" cellspacing="1"> <tr> <td><b>Titel:</b></td> <td><input type="text" name="titel" class="rahmen" size="41"></td> </tr> <tr> <td><b>Text:<br><br><br><br><br><br><br><br></b></td> <td><textarea name="text" cols="40" rows="9" class="rahmen"></textarea></td> </tr> <tr> <td><b>Autor:</b></td> <td><input type="text" name="autor" class="rahmen" size="41"></td> </tr> <tr> <td><b>Datum:</b></td> <td><input type="text" name="datum" class="rahmen" size="41"></td> </tr> <tr> <td><br></td> </tr> <tr> <td><div align="right"><input type="submit" name="abschicken" value="Abschicken"></div></td> </tr> </table> </form> </body> </html>[/PHP] Und hier der Code der Insert-Funktion: [PHP]<!-- news_einfuegen_db.php / Adminbereich --> <?php $host = "xyz"; $name = "xyz"; $passwort = "xyz"; $sql = mysql_connect($host, $name, $passwort); $dbname = "xyz"; mysql_select_db($dbname); $insert = "INSERT INTO `mitteilungen` (titel, text, autor, datum) values ($_POST[titel], $_POST[text], $_POST[autor], $_POST[datum])"; mysql_query($insert); mysql_close($sql); ?> Danke im Vorraus... Sebastian Zitieren
robotto7831a Geschrieben 7. Februar 2004 Geschrieben 7. Februar 2004 Hallo, lass doch mal $insert auf dem Bildschirm ausgeben. Damit man sehen, welcher SQL Befehl wirklich zur DB geschickt wird. Frank Zitieren
muth Geschrieben 7. Februar 2004 Autor Geschrieben 7. Februar 2004 er gibt das aus: INSERT INTO `mitteilungen` (titel, text, autor, datum) values (Test-News, Dies sind nur TEST-News!, Sebastian Muth, 07.02.2004) Zitieren
robotto7831a Geschrieben 7. Februar 2004 Geschrieben 7. Februar 2004 Ich nehme mal an, dass Du als Datentype in der DB VARCHAR2 oder so was in der Art hast. Du mußt dann mämlich ein Hochkomma vor und hinter dem String machen. Also: '$_POST[titel]' Frank Zitieren
muth Geschrieben 7. Februar 2004 Autor Geschrieben 7. Februar 2004 ok, danke...ich werds mal ausprobieren... Zitieren
muth Geschrieben 8. Februar 2004 Autor Geschrieben 8. Februar 2004 sorry, funzt leider auch nicht...irgendwie mach ich da was falsch...! Zitieren
robotto7831a Geschrieben 8. Februar 2004 Geschrieben 8. Februar 2004 Wie sieht denn jetzt die SQL Anweisung aus? Frank Zitieren
BlackAngel3k Geschrieben 8. Februar 2004 Geschrieben 8. Februar 2004 las dir mal die mysql fehler anzeigen. mysql_query($insert) or die(mysql_error()); Zitieren
muth Geschrieben 8. Februar 2004 Autor Geschrieben 8. Februar 2004 Das ist die 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 'Nr. 2, Dies sind wieder nur TEST-News!, Sebastian Muth, 08.02.2 Zitieren
robotto7831a Geschrieben 8. Februar 2004 Geschrieben 8. Februar 2004 Und wie sieht der SQL Code aus, der zur DB geschickt wurde? Frank Zitieren
muth Geschrieben 8. Februar 2004 Autor Geschrieben 8. Februar 2004 so: <!-- news_einfuegen_db.php / Adminbereich --> <?php $host = "xyz"; $name = "xyz"; $passwort = "xyz"; $sql = mysql_connect($host, $name, $passwort); $dbname = "xyz"; mysql_select_db($dbname); $insert = "INSERT INTO `mitteilungen` (`titel`, `text`, `autor`, `datum`) VALUES ($_POST[titel], $_POST[text], $_POST[autor], $_POST[datum])"; mysql_query($insert) or die(mysql_error()); print $insert; mysql_close($sql); ?>[/PHP] Sebastian Zitieren
robotto7831a Geschrieben 8. Februar 2004 Geschrieben 8. Februar 2004 So lautet es richtig. $insert = "INSERT INTO mitteilungen (titel, text, autor, datum) VALUES ('$_POST[titel]', '$_POST[text]', '$_POST[autor]', '$_POST[datum]')"; [/php] Frank Zitieren
muth Geschrieben 8. Februar 2004 Autor Geschrieben 8. Februar 2004 ok, danke! es geht! dann war es mal wieder nen fehler von mir...! sebastian Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.