Metin2 HP-Regi: Column count doesn't match value count at row 1

12/07/2016 16:17 Chritation#1
Hallo, ich hab mir eine HP runtergeladen und wollte sie für meinen Server nutzen, jedoch erhalte ich bei der Registrationen den Fehler:

PHP Code:
Column count doesnt match value count at row 1
Registrierung fehlgeschlagen
Der Account existiert bereits 
.

Das heißt ja eigentlich, dass die HP Spalten in die account Tabelle einfügen will, die nicht vorhanden sind oder? Aber ich denke ich habe alle benötigten Tabellen.

Hier ist meine register.php:


wobei mir auch gerade auffällt, dass ich nur diese überprüft habe:

PHP Code:
$sqlCmd "INSERT INTO account.account 
        (login,password,real_name,email,social_id,status,coins) 
Müsste da nicht noch z.b. sicherheitsfrage als spalte vorhanden sein? Aber ich kann das in der register.php nicht finden.

Würde mich über Hilfe freuen :)
12/07/2016 16:40 Timau#2
Welche files benutzt du?
Wenn kori dann real Name gibt's nicht...
Wenn du den fix davon genutzt hast dann schon aber...


(login,password,real_name,email,social_id,question 1,answer1)


Schau mal ^^ gibt bei deiner HP bestimmt eine Frage und neh Antwort z.b.
Name der Mutter
Answer
12/07/2016 17:48 Chritation#3
Quote:
Originally Posted by Timau View Post
Welche files benutzt du?
Wenn kori dann real Name gibt's nicht...
Wenn du den fix davon genutzt hast dann schon aber...


(login,password,real_name,email,social_id,question 1,answer1)


Schau mal ^^ gibt bei deiner HP bestimmt eine Frage und neh Antwort z.b.
Name der Mutter
Answer
Ja ich benutze Kori-Files. Die real_name habe ich schon eingefügt gehabt.
D.h. es liegt daran, dass question 1 und answer 1 fehlt.
Die frage ist wie dann die richtige Spaltenbezeichnung lautet?
Weil von Frage und Antwort steht ja eigentlich nichts in der register.php drin.
12/08/2016 09:08 Timau#4
Quote:
Originally Posted by Chritation View Post
Ja ich benutze Kori-Files. Die real_name habe ich schon eingefügt gehabt.
D.h. es liegt daran, dass question 1 und answer 1 fehlt.
Die frage ist wie dann die richtige Spaltenbezeichnung lautet?
Weil von Frage und Antwort steht ja eigentlich nichts in der register.php drin.

Ich schick dir meine fix Sammlung wo eine regi sql die gefixt ist drin ist... ersetzt die einfach ist einfacher da brauchst du dann nix an der HP ändern
12/08/2016 13:27 Chritation#5
Quote:
Originally Posted by Timau View Post
Ich schick dir meine fix Sammlung wo eine regi sql die gefixt ist drin ist... ersetzt die einfach ist einfacher da brauchst du dann nix an der HP ändern
Hat leider nicht geholfen. Der gleiche Fehler ist immernoch da.

Trotzdem danke für die Mühe. Suche weiter nach Hilfe!
12/08/2016 19:10 Timau#6
$sqlCmd = "INSERT INTO account.account
(login,password,real_name,email,social_id,question 1,answer1,create_time,status,coins,autoloot_expire ,safebox_expire,web_aktiviert)

erstetz das mal mit deinem Eintrag das dürfte es nun aber fixen :P
Dachte Kori-files direkt account.sql aber dir fehlen Einträge von der Spalte hab ich oben aber auch schon mal geschrieben :D
12/08/2016 21:43 Chritation#7
Ich liebe dich.
Damit hat es funktioniert. Aber ja ich benutze wirklich die Kori Files und habe deine account.sql eingefügt hat aber bis dahin nicht funktionert. Zum Glück aber jetzt <3
12/12/2016 15:11 nybu#8
Mal kurz als Klarstellung, was das Problem war... einfach ne Zeile zu kopieren ohne zu verstehen was du gemacht hast bringt dir auch nicht viel...

Bei deiner INSERT Query waren mehr werte als Spalten angegeben.
Beispiel eines korrekten Inserts:
Code:
INSERT INTO tabelle (spalte1, spalte2) VALUES (wert1, wert2);
In spalte1 wird also wert1 geschrieben und in spalte2 wert2.

Bei dir war das im Prinzip so:
Code:
INSERT INTO tabelle (spalte1, spalte2) VALUES (wert1, wert2, wert3);
Du hast mehr Werte angegeben als Spalten.



Also zurück zum konkreten Fall:
Code:
INSERT INTO account.account (login,password,real_name,email,social_id,status,coins)  
VALUES         ('".$_POST['account']."',PASSWORD('".$userpass."'),'".mysql_real_escape_string($_POST['uname'])."','".mysql_real_escape_string($_POST['email'])."','".$lcode."','".$sfNum."','".$hashSF."','".$sqlZeit."','".$accountStatus."','".$regCoins."','".$expireDate."','".$expireDate."','".$aktivHash."')
Du möchtest hier Daten in die Spalten login,password,real_name,email,social_id,status und coins eintragen, gibst aber viel mehr Werte an:
Code:
'".$_POST['account']."',PASSWORD('".$userpass."'),'".mysql_real_escape_string($_POST['uname'])."','".mysql_real_escape_string($_POST['email'])."','".$lcode."','".$sfNum."','".$hashSF."','".$sqlZeit."','".$accountStatus."','".$regCoins."','".$expireDate."','".$expireDate."','".$aktivHash."'
Die Lösung ist also wie schon richtig gemacht entweder alle Werte, die zuviel sind zu entfernen oder die query um die fehlenden Spalten zu erweitern