Auto Increment ID

pad94

Benutzer
Beiträge
10
Hallo Leute,

ich hoffe es ist keine dumme Frage, aber ich weiß einfach nicht woran es liegt...
ich habe mir einen kostenlosen Webhost gemietet und habe dort ein kleines PHP Skript liegen, das Daten in eine Datenbank speichert.

public function registerUser($name, $firstname, $username, $email, $age, $password){

$user = '########';
$pass = '########';
$db = '########';
$host = '########';

$con = mysqli_connect($host, $user, $pass, $db) or die ("Unable to connect");
if(!$con){
printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
exit();
}
$statement = mysqli_prepare($con, "INSERT INTO userdata VALUES (?, ?, ?, ?, ?, ?)");
mysqli_stmt_bind_param($statement, "ssssis", $name, $firstname, $username, $email, $age, $password);

mysqli_stmt_execute($statement);
mysqli_stmt_close($statement);

$response = array();
$response["success"] = true;
echo json_encode($response);

mysqli_close($con);
}

Es geht mir hauptsächlich um das Insert Statement. Ich habe in der Tabelle 7 Spalten, 6 sind oben zu sehen und die 7te ist eine Auto Increment ID. Wenn das Skript ausgeführt wird werden aber keine Daten in die Datenbank gespeichert. Wenn ich jedoch die Spalte ID entferne wo auto incrementiert wird, funktioniert das Statement, ich weiß jedoch nicht warum, da die ID ja automatisch hinzugefügt werden sollte?

LG Patrick
 
Werbung:
Die ID kannst du beim insert Weglassen. Dann wird diese Automatisch gesetzt.

OT: Ich hoffe du schreibst keine Klartext Passwörter in die Datenbank!
 
Nein die Verschlüsselung kommt später noch. Ich weiß das ich die ID weglassen kann, aber habe ich eine Spalte mit ID + Autoincrement fügt er keine Daten hinzu, lasse ich die Spalte jedoch weg, fügt er die Daten hinzu. Das ist ja mein Fehler, aber ich weiß nicht woran es liegt...
 
Wie ID + Autoincrement? Kannst du mal die Definition der Datenbank zeigen?
Was passiert wenn du die Spalte weglässt? Schreibt er dann alles rein?
 
Werbung:
Ich hab den Fehler gefunden....^^
Neues Statement: $statement = mysqli_prepare($con, "INSERT INTO userdata (name, firstname, username, email, birthdate, password) VALUES (?, ?, ?, ?, ?, ?)");

Er wusste wohl nicht welche Daten in welche Spalten kommen, habe jetzt die Spalten im Insert befehl hinzugefügt, und nun funktioniert es mit der id.

Trotzdem Danke^^
 
Zurück
Oben