Column 'betreff' cannot be null
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfrage
array
art
betreff
code
datum
eingabe
eintragen
email
krieg
leere zeichenkette
manual
meldung
nachricht
post
reden
set
url
verbindung
vorname
-
hi, kann mir helfen
ich kriege immer fehler meldung
Array ( [0] => 23000 [1] => 1048 [2] => Column 'betreff' cannot be null )
PHP siet folgenes aus
<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { include "../functions/verbindung.php"; $insert = $VERBINDUNG->prepare("INSERT INTO `nachrichten` SET `art` = :art, `name` = :name, `email` = :email, `betreff` = :betreff, `nachricht` = :nachricht, `datum` = NOW()"); $insert->bindValue(':art', $_POST["art"]); $insert->bindValue(':name', $_POST["name"]); $insert->bindValue(':email', $_POST["email"]); $insert->bindValue(':betreff', $_POST["betreff"]); $insert->bindValue(':nachricht', $_POST["nachricht"]); if ($insert->execute()) { echo '<p>Die Nachricht wurde eingetragen.</p>'; } else { print_r($insert->errorInfo()); } } ?>
Danke voraus! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
hier ist komplett
<!DOCTYPE html> <html lang="de"> <head> <meta charset="UTF-8"> <title>Nachricht eintragen</title> <style> body { font-family: Verdana, Arial, Sans-Serif; background: Whitesmoke; } </style> </head> <body> <h3>Nachricht eintragen</h3> <form action="" method="post"> <p> <label> <select name="art" size="1" autofocus="autofocus"> <option value=""></option> <option value="name">Name,Vorname</option> <option value="UserName">UserName</option> </select> </label> </p> <p> <label>Name/Vorname/Username: <input type="text" name="name" size="25" maxlength="30"> </label> </p> <p> <label>Email: <input type="text" name="email" size="25" maxlength="30"> </label> </p> <p> <label>Betreff: <input type="text" name="betreff" size="25" maxlength="30"> </label> </p> <p> <label>Nachricht: <br> <textarea rows="10" cols="40" name="nachricht"></textarea> </label> </p> <input type="submit" value="Absenden"> </form> <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { include "../functions/verbindung.php"; $insert = $VERBINDUNG->prepare("INSERT INTO `nachrichten` SET `art` = :art, `name` = :name, `email` = :email, `betreff` = :betreff, `nachricht` = :nachricht, `datum` = NOW()"); $insert->bindValue(':art', $_POST["art"]); $insert->bindValue(':name', $_POST["name"]); $insert->bindValue(':email', $_POST["email"]); $insert->bindValue(':betreff', $_POST["betreff"]); $insert->bindValue(':nachricht', $_POST["nachricht"]); if ($insert->execute()) { echo '<p>Die Nachricht wurde eingetragen.</p>'; } else { print_r($insert->errorInfo()); } } ?> </body> </html>
-
Hi,
so wie dein geposteter Code aussieht, sollte das funktionieren. Das heißt entwederzeigst du uns hier nicht alles, oder das $_POST-Array wird an einer anderen Stelle manipuliert. Selbst wenn du nichts einträgst wird so eine leere Zeichenkette in der Datenbank gespeichert.
Überprüfe doch einmal (via var_dump() oder print_r()) direkt nach dem if und dann nochmal vor dem execute, welche Daten überhaupt in dem $_POST-Array stehen.
Mit freundlichen Grüßen -
ich habe alles gepostet
mit
if var_dump()($_SERVER["REQUEST_METHOD"] == "POST") {
funktioniert! -
Hi, reden wir von der selben Sprache?
Das kann nicht funktioniert haben!
Den bei dem was du gelistet hast wirft PHP eine exception, weil es den code nicht richtig parsen kann.
Mit freundlichen Grüßen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage