• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Newssystem will Beitrag nicht in Datenbank eintragen

  • Ersteller Ersteller matibaski
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
M

matibaski

Guest
Hallo!
Ich habe ein komisches Proble, ich hoffe jemand findet den Fehler schnell.

Für das Eintragen eines Newsbeitrages habe ich 5 Spalten:
ID, Titel, Inhalt, Datum, Autor.

Mein Problem ist, dass beim Eintragen, MySQL einen Error ausgibt.
Also der Code ist sehr sehr simpel:
PHP:
if(!isset($_POST['add']))
{
 echo '
 <form name="add" method="post" action="admin.php?site=add">
 Titel:<br />
 <input type="text" name="titel" value="" /><br />
 <br />
 Inhalt:<br />
 <textarea name="inhalt" rows="10" cols="50"></textarea><br />
 <br />
 Autor:<br />
 <input type="text" name="autor" value="" /><br />
 <br />
 <br />
 <input type="submit" name="add" value="News eintragen" />
 </form>';
}
else
{
 $sql = "INSERT INTO News
             (Titel,Inhalt,Datum,Autor)
         VALUES
             ('".$_POST['titel']."',
              '".$_POST['inhalt']."',
              '".date("d-m-Y").",
              '".$_POST['autor']."'
             );
        ";
 mysql_query($sql) OR die(mysql_error());
 echo'News erfolgreich eingetragen!
      <meta http-equiv="refresh" content="2; URL=admin.php?site=add">';
}
Und ich erhalte:
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 '12345' )' at line 6

Also ich habe bei allen 3 Feldern verschiedene Zahlen zum testen eingeschrieben. 12345 war beim input für den Autor.

Ich weiss nicht, was falsch ist.


MfG, matibaski
 
'".date("d-m-Y").",
Hier hast du das ' nach dem " vergessen...
es müsste so aussehen:
PHP:
if(!isset($_POST['add']))
{
echo '
<form name="add" method="post" action="admin.php?site=add">
Titel:<br />
<input type="text" name="titel" value="" /><br />
<br />
Inhalt:<br />
<textarea name="inhalt" rows="10" cols="50"></textarea><br />
<br />
Autor:<br />
<input type="text" name="autor" value="" /><br />
<br />
<br />
<input type="submit" name="add" value="News eintragen" />
</form>';
}
else
{
$sql = "INSERT INTO News
             (Titel,Inhalt,Datum,Autor)
         VALUES
             ('".$_POST['titel']."',
              '".$_POST['inhalt']."',
              '".date("d-m-Y")."',
              '".$_POST['autor']."'
             );
        ";
mysql_query($sql) OR die(mysql_error());
echo'News erfolgreich eingetragen!
      <meta http-equiv="refresh" content="2; URL=admin.php?site=add">';
}

außerdem solltest du das:
(titel, inhalt, datum, autor)
so schreiben...

oder falls die tabellen auch mit nem großen anfangsbuchstaben anfangen das hier:
('".$_POST['titel']."',
'".$_POST['inhalt']."',
'".date("d-m-Y")."',
'".$_POST['autor']."'
);
so:
PHP:
<?php
             ('".$_POST['Titel']."',
              '".$_POST['Inhalt']."',
              '".date("d-m-Y")."',
              '".$_POST['Autor']."'
             );
 
Es ist aber so in 1.Buchstabengrösse eingetragen worden, und die Textfelder 1.Buchstaben klein :D :D

Also da hab ich ne Frage, da das jetzt funzt.
Wieso trägt es mit date("d-m-Y") 0000-00-00 00:00:00 ein?
Ich wollte nur Tag, Monat, Jahr haben -.-


MfG, matibaski
 
Geht trotzdem nicht :(
Muss man die Sekunden, Stunden und MInuten angeben?


MfG, matibaski

edit:
Habs gelöst:
date( "Y-m-d H:i:s")
 
Zuletzt bearbeitet von einem Moderator:
du hättest mir ja sagen können, dass es dir egal ist, wenn Sekunde, Minute und Stunde auch mit eingetragen werden sollen dann hätte ich es dir von anfang an sagen können :P
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben