Veröffentlicht 7. Februar 200421 j 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
7. Februar 200421 j Hallo, lass doch mal $insert auf dem Bildschirm ausgeben. Damit man sehen, welcher SQL Befehl wirklich zur DB geschickt wird. Frank
7. Februar 200421 j er gibt das aus: INSERT INTO `mitteilungen` (titel, text, autor, datum) values (Test-News, Dies sind nur TEST-News!, Sebastian Muth, 07.02.2004)
7. Februar 200421 j 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
8. Februar 200421 j las dir mal die mysql fehler anzeigen. mysql_query($insert) or die(mysql_error());
8. Februar 200421 j 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
8. Februar 200421 j 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
8. Februar 200421 j So lautet es richtig. $insert = "INSERT INTO mitteilungen (titel, text, autor, datum) VALUES ('$_POST[titel]', '$_POST[text]', '$_POST[autor]', '$_POST[datum]')"; [/php] Frank
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.