MySQL Datenbank lässt nur einen Eintrag zu?

...komplette Frage anzeigen

4 Antworten

Hast du in der Problem-Tabelle einen Primary Key ohne autoincrement?

Melde dich in phpmyadmin an, geh zu der Problem-Tabelle. Wähle oben "SQL" aus und schreibe diesen Befehl:

DESC tabelle

Natürlich "tabelle" durch den Namen der Tabelle ersetzen ;-)

Unter der Spalte "extra" sollte nun in einem der Felder "auto_increment"  auftauchen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von freakyGTA
03.03.2017, 16:28

Das Problem habe ich heute Nacht noch gelöst, es war genau das was du gesagt hast mit AUTO_INCREMENT :'D

Aber Danke für deine Antwort! :)

Stehe jetzt nur vor einem neuen Problem... Habe den Code jetzt mal zum größten Teil selbst geschrieben, funktioniert auch alles soweit. Nur beim übertragen in die Datenbank gibt es jetzt ein Problem.. Weiß nicht was es genau sein kann..

Habe zwei Vermutungen.

Ist es richtig, bzw kann man das so machen, das ich auf der Seite zum registrieren ein Eingabefeld für ein Geburtsdatum mit

<input type="date" name="geburtsdatum"> 

abfrage, einer $geburtsdatum Variable zuweise und dann in die Datenbank der Spalte geburtsdatum mit dem Typ "date" zuweise?

Oder muss ich da was anders machen?

Meine andere Vermutung ist, das der Code zum übertragen falsch sein könnte.

 $statement = $pdo->prepare("INSERT INTO users (email, passwort, anrede, vorname, nachname, firma, strasse, hausnummer, adresszusatz, postleitzahl, stadt, bundesland, handynummer, telefonnummer, username, geburtsdatum) VALUES (:email, :passwort, :anrede, :vorname, :nachname, :firma, :strasse, :hausnummer, :adresszusatz, :postleitzahl, :stadt, :bundesland, :handynummer, :telefonnummer, :username, :geburtsdatum)");

Ist das vielleicht zu viel für einen Befehl? Sollte ich das aufteilen?

0
  1. Deine SQL-Anfrage ist sicherlich falsch. Vergleiche bspw. dein SQL-Statement nochmals mit den Informationen von dieser Seite: https://www.w3schools.com/sql/sql_insert.asp
  2. Nimm Testausgaben vor, um deinen Programmfluss zu überprüfen.
  3. Wenn du dir Syntax deiner genannten Anweisung anschaust, solltest du eigentlich selbst draufkommen: Das ist PHP-Code. Die Funktion mysql_error wird zudem in der PHP Dokumentation erklärt. Da sie veraltet ist, solltest du - genauso auch für das weitere Management der Datenbank MySQLi nutzen. Für Fehlernachrichten also http://php.net/manual/de/mysqli.error.php
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von freakyGTA
03.03.2017, 01:21

Danke für die Antwort :) Also ich schau mir gerade den Link von deinem 1. Punkt an, und was mir halt direkt auffällt ist: Bei dem INSERT Befehl Ist vor dem VALUE ein Zeilenumbruch.

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway');

Bei mir ist das aber so.

("INSERT INTO users (email, passwort) VALUES (:email, :passwort)")

Ist das falsch, oder macht das keinen Unterschied?

Ich schau mir das jetzt noch weiter an und melde mich wenn mir was auffällt

0

Grobe vermutung könnte sein das du vergessen hast die id auf auto_increment zu setzen oder diese manuell setzt auf immer die selbe aber id auf unique steht in mysql

Antwort bewerten Vielen Dank für Deine Bewertung

warum verschweigst du die Fehlermeldung?

weil im dunkeln suchen mehr spaß macht?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von freakyGTA
03.03.2017, 17:29

Macht auf jeden Fall mehr Spaß, ist spannender :D

Spaß beiseite :)

Ich würde mich freuen wenn ich wüsste wie ich zu den Fehlermeldungen komme, bzw sie mir anzeigen lassen kann..

Das was ich dazu finde verstehe ich nicht ganz, wo und wie ich das anwenden soll das ich sehen kann was ich für einen Fehler gemacht habe.

0

Was möchtest Du wissen?