Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Auto Increment ID

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von pad94, 5 Januar 2017.

  1. pad94

    pad94 Benutzer

    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
     
  2. Dukel

    Dukel Datenbank-Guru

    Die ID kannst du beim insert Weglassen. Dann wird diese Automatisch gesetzt.

    OT: Ich hoffe du schreibst keine Klartext Passwörter in die Datenbank!
     
  3. pad94

    pad94 Benutzer

    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...
     
  4. Dukel

    Dukel Datenbank-Guru

    Wie ID + Autoincrement? Kannst du mal die Definition der Datenbank zeigen?
    Was passiert wenn du die Spalte weglässt? Schreibt er dann alles rein?
     
  5. pad94

    pad94 Benutzer

    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^^
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden