2016-06-26 15 views
0

Es tut mir leid, aber ich habe ein Problem auf meiner Website, wenn ich ein Konto erstellen möchte. Mein Fehler ist:SQLSTATE [HY000]: Allgemeiner Fehler: 1366 Falscher ganzzahliger Wert: Beliebige Lösung?

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'guid' at row 1'

Und mein Code:

$db->query('INSERT INTO accounts (guid, account, pass, level, vip, email, lastIP, question, reponse, pseudo) VALUES ("", "'.$account.'", "'.$pass1.'", "0", "0", "'.$mail.'", "'.$ip.'", "'.$question.'", "'.$reponse.'", "'.$pseudo.'")'); 

Bitte helfen Sie mir ... Danke so viel, Stackoverflowers: D!

+5

recht einfach zu verstehen - Sie versuchen, eine leere Zeichenfolge in einen INT Typ-Feld ('guid') –

+0

entfernen' guid' von Spaltennamen einfügen und entfernen es entsprechende erste '„“' von Werten. Weil ich denke, dass das Feld "Primärschlüssel" und "automatisch inkrementiert" ist. –

+3

Ihre Abfrage ist für SQL-Injection-Angriffe gefährdet. –

Antwort

1

Sie versuchen, eine leere Zeichenfolge in eine Spalte einzufügen, die eine ganze Zahl erwartet. Sie sollten wahrscheinlich eine Ganzzahl einfügen. Abhängig von der Konfiguration, können Sie es schaffen, nur eine 0 oder etwas einzufügen, aber da die Spalte guid heißt, würde das wahrscheinlich etwas kaputt machen. Eine andere Option wäre, es vollständig wegzulassen und zu sehen, ob es automatisch gesetzt wird.

$db->query('INSERT INTO accounts (account, pass, level, vip, email, lastIP, question, reponse, pseudo) VALUES ("'.$account.'", "'.$pass1.'", "0", "0", "'.$mail.'", "'.$ip.'", "'.$question.'", "'.$reponse.'", "'.$pseudo.'")'); 
+0

Oh mein Gott .... Vielen Dank, wirklich bin ich sehr glücklich !!! –

+1

@CreyJR Wenn dies Ihre Frage beantwortet, dann sollten Sie es akzeptieren, damit der Benutzer sein Guthaben und seinen Ruf erhält. –

+0

Fertig für mich, es ist ok? :) –

Verwandte Themen