Wo ist der Fehler

Hallo hab ein problem

[code]<?php
$name = “” . $_POST[‘Name’] . “”;
$email_teil_1 = “” . $_POST[‘email_teil_1’] . “”;
$email_teil_2 = “” . $_POST[‘email_teil_2’] . “”;
$text = “” . $_POST[‘Nachricht’] . “”;
$datum = date(‘d.m.y’);

@$db = new mysqli(‘localhost’, ‘eeeeeeeeek’, ‘eeeeeeee’, ‘eeeeeeeeeeeekkkkkk’);
//Verbindung überprüfen
if (mysqli_connect_errno()) {
printf(“Verbindung fehlgeschlagen: %s\n”, mysqli_connect_error());
exit();
}

//Datensatz-Inhalte festlegen
$sql_befehl = "
INSERT INTO gast_1 (
id,
name,
email_teil1,
email_teil2,
nachricht,
zeitunddatum

) VALUES (
’’,
’$name’,
’$email_teil_1’ ,
’$email_teil_1’ ,
’$text’,
’$datum ’

)";

if ($db->query($sql_befehl)) {
echo “Eingetragen”;
} else {
echo “Ein Problem ist aufgetreten”;
}
$db->close();
?>[/code]

wo ist der fehler ?

sry :ps: :ps:

es kommt immer" Ein Problem ist aufgetreten" bitte hilft mir :hail:

ne immer noch nicht kommt

Ein Problem ist aufgetreten (Duplicate entry ‘0’ for key 1)

man bin ich dumm :ps: :hammer:
etwas mit der Datenbank ist Faltsch (ID werden nich automatisch vergeben )

Wenn id AUTO_INCREMENT hat, musst du es nicht in den insert schreiben :wink:

Papperlapap, ID ist nen Index und der ist eben nicht Auto_increment gesetzt, deswegen der Doublicated Entry for 0.
Setzt man das Ding nämlich als Index und Auto_Increment, kannst da auch im Query übergeben was du willst, er übernimmt automatisch den nächsten Freien Index und fertig ist.

Man lässt es nur der übersichtlichlichkeit und der besseren lesbarkeit vom Code weg. Ansonsten ist das egal, hat auf die Ausführbarkeit vom Script jedenfalls gar keinen Einfluss.

Greez

Phil, ich muss dich enttäuschen, dem ist nictht so…
Du kannst ihn überschreiben, da er aber PrimaryKey ist, darf er nicht doppelt vorkommen :wink: