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

Datensatz in die Datenbank einfügen

Witschi262

Blogger
Hallo,
Ich möchte von einem Formular, den Inhalt in die Tabelle "News" einfügen.
Dazu nutze ich folgenden Code:
Code:
<?php
$sql="INSERT INTO News ("Autor, Titel, Inhalt")
VALUES
    ('Ich',
     'Meine erste News',
     'Hiermit teste ich wie man Datensätze in MySQL einfügt');
?>
Eine Verbindung zur Datenbank wurde weiter oben per include eingebettet.
Wenn man ich Seite aufrufe, kommt folgender Error:

Parse error: syntax error, unexpected T_STRING in /users/witschi262/www/privat/planet/nwe/schreiber/admin.php on line 273

Linie 273 steht:
Code:
$sql="INSERT INTO News ("Autor, Titel, Inhalt")

Kann mir bitte jemand helfen?
Danke!
 
Dann eben nur den relevanten Teil. Als Programmierer sollte man entscheiden können, was das Problem evtl. verursachen könnte und was nicht. Reinen HTML-Code zu posten wäre beispielsweise sinnfrei.
 
Den Relevanten Teil habe ich bereits gepostet.
Habe ihn mit einer mySQL verbindung zusätzlich ausgebaut.
Code:
<?php
$db = @new mysqli('localhost', 'witschi262', '5826458264', 'witschi262');
if (mysqli_connect_errno()) {
    die ('Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error().'('.mysqli_connect_errno().')');
}

$sql="INSERT INTO News (Autor, Titel, Inhalt)
VALUES
    ('Ich',
     'Meine erste News',
     'Hiermit teste ich wie man Datensätze in MySQL einfügt')";
?>
 <br><br>
</div>
 
Nein. Lies mal das Tutorial weiter bis einschließlich Kapitel 32.

Du musst die Query in jedem Fall an die Datenbank abschicken. Mit irgendeiner Art query-Methode/Funktion.
 
Ich habe es weitergelesen.
Trotzdem habe ich nirgendwo mehr eine Weitere Information gefunden.
Mit welchem Befehl muss ich den weitermachen?
 
Hallo :D
Das ist mein erster Beitrag in diesem Forum :D
Dir fehlt:
PHP:
mysql_query($sql);
damit sendest du den string an die Datenbank ab ;)
Lg
Daniel(aka procogx)
 
ein neues problem !!
Wenn ich etwas mit meinem Formular absende, wird der beitrag 4mal gespeichert ohne Inhalt!!

Das Formular in admin.php:
Code:
<form action="news.php">
Autor:<input name="autor" type="text" size="30" maxlength="30" value="<? echo $session->username; ?>"><br> <br>
Newstitel:<input name="titel" type="text" size="30" maxlength="40" value="Bitte eingeben"> <br> <br>
Beitrag:<br>
<textarea name="inhalt" cols="50" rows="10"></textarea> <br>
<input type="submit" value="Absenden">
<input type="reset" value="Abbrechen">
</form>

Der Verarbeitete Datensatz, bereit für die Datenbank in der news.php :
Code:
<?php
$sql="INSERT INTO News (Autor, Titel, Inhalt)
VALUES
    ('$_POST[autor]',
     '$_POST[titel]',
     '$_POST[inhalt]')";
     mysql_query($sql);
?>

Ergebnis:
Jeder Beitrag wird 4 mal abgeschickt, und ist leer!!
 
Folgende Fehlermeldung wird ausgegeben:
Notice: Undefined index: autor in /users/witschi262/www/privat/planet/nwe/schreiber/news.php on line 264
.bpe a:link, .bpe a:visited, .bpe a:active { color: #0b4c8e; text-decoration: none; } .bpe a:hover { color: #0D7CEC; }
Notice: Undefined index: titel in /users/witschi262/www/privat/planet/nwe/schreiber/news.php on line 265
.bpe a:link, .bpe a:visited, .bpe a:active { color: #0b4c8e; text-decoration: none; } .bpe a:hover { color: #0D7CEC; }
Notice: Undefined index: inhalt in /users/witschi262/www/privat/planet/nwe/schreiber/news.php on line 266

Das heißt also, ich habe die Variabeln "autor" "titel" und "inhalt" mit keinem Inhalt gefüllt.
Bei meinem Formular habe ich noch ein
" method="post" "
Beigefügt.
Immernoch der selbe Fehler.

 
Folgendes:
Array ( )
Wenn ich richtig liege, wurden also die mit Daten gefüllten Variabeln "leer" an news.php weitergegeben?
 
Ja, scheint so. Wenn das Formular (jetzt aufbauend auf deinem Code) so aussieht, sollte das aber eigentlich klappen:

HTML:
<form method="post" action="news.php">
Autor:<input name="autor" type="text" size="30" maxlength="30" value="<? echo $session->username; ?>"><br> <br>
Newstitel:<input name="titel" type="text" size="30" maxlength="40" value="Bitte eingeben"> <br> <br>
Beitrag:<br>
<textarea name="inhalt" cols="50" rows="10"></textarea> <br>
<input type="submit" value="Absenden">
<input type="reset" value="Abbrechen">
</form>

Stochern im Dunkeln. ;)

PS: Shorttags können deaktiviert sein. Es ist in der Regel günstiger <?php statt <? zu verwenden.
 
Zurück
Oben