fishi
16. März 2008 um 19:53
1
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 ?
fishi
16. März 2008 um 19:57
3
sry
es kommt immer" Ein Problem ist aufgetreten" bitte hilft mir
fishi
16. März 2008 um 20:00
5
ne immer noch nicht kommt
Ein Problem ist aufgetreten (Duplicate entry ‘0’ for key 1)
…
fishi
16. März 2008 um 20:02
6
man bin ich dumm
etwas mit der Datenbank ist Faltsch (ID werden nich automatisch vergeben )
Wenn id AUTO_INCREMENT hat, musst du es nicht in den insert schreiben
Phil
16. März 2008 um 23:08
9
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