Probleme mit MYSQL und PHP

New member
Hi,
ich versuch eine Clanseite mit log in und so zu erstellen, doch ich krieg es nicht hin mit der Registrierung. Durch eine if Abfrage weiß ich das was schief läuft, aber keine weiteren Infos durch mysql_errno(); oder mysql_error();. Ich post einfach ma beide Dateien:

registrieren.html

<html>
<head>
<title>Registrieren</title>
<link rel="stylesheet" type="text/css" href="design.css">
</head>
<body>
<form action="check.php" method="post">
User:
<br>
<input type="text" name="user" size="16">
<br>
Passwort
<br>
<input type="password" name="passwort1" size="16">
<br>
Passwort wiederholen:
<br>
<input type="password" name="passwort2" size="16">
<br>
Name:
<br>
<input type="text" name="name" size="16">
<br>
Alter:
<br>
<input type="text" name="alter" size="2">
<br>
Email:
<br>
<input type="text" name="email" size="16">
<br>
Warrock Account, falls vorhanden:
<br>
<input type="text" name="wr_account" size="16">
<br>
Combat Arms Account, falls vorhanden:
<br>
<input type="text" name="ca_account" size="16">
<br>
<input type="submit" value="Abschicken">
</form>
</body>
</html>

nix kompliziertes...

jetzt check.php

<?php
$user = $_POST[user];
$name = $_POST[name];
$alter = $_POST[alter];
$email = $_POST;
$wr_account = $_POST[wr_account];
$ca_account = $_POST[ca_account];
$passwort1 = $_POST[passwort1];
$passwort2 = $_POST[passwort2];
if($passwort1 != $passwort2 || $alter < 14) {
echo("Deine Eingaben waren falsch...");
}
else {
include("config.php");
$db = @mysql_connect($sr, $ur, $pw);
if (!$db) {
echo ("Keine Verbindung möglich!\n");
exit;
}
mysql_select_db($ur);
$auftrag = "INSERT INTO user-data (user, name, alter, email, ca-account, wr-account, passwort)
VALUES ('$user', '$name', '$alter', '$email', '$ca_account', '$wr_account', '$passwort1')";
$schicken = mysql_query($auftrag);
if(!$schicken) {
echo("FEHLER");
mysql_errno();
}
mysql_close($db);
}
?>

Bitte helft mir, ich verzweifle an dem sch**ß :fuchtel::fuchtel::fuchtel:

Wie gesagt keine Fehlermeldung, außer echo("FEHLER");. Es wird nix bei phpmyadmin angezeigt.
 
Kannst du überhaupt auf die Datenbank zugreifen? Schon mal anders getestet?
Vielleicht existiert die Tabelle nicht, oder die Rechte sind falsch gesetzt.

Und schreib mal ein "echo" vor die Funktion mysql_errno()...
 
Um sicher zu gehen, dass keine Fehler unterdrückt werden, schreibe mal
PHP:
error_reporting(E_ALL);
in die erste Zeile deiner Datei.

Und schau dir bitte etwas zu SQL Injections an, dein Code ist voll davon:
(unten gibt es auch PHP Beispiele)
 
Danke für den Tipp mit den Injections. Ich werd da später drauf achten wenn es endlich funktioniert.

Laut mysql_errno(); hab ich einen Fehler 1064. Benutze ich irgend ein reserviertes Wort??? Und ja die Datenbank und die Tabell existieren. Herstellung der Verbindung klappt auch.
 
Gib doch den $auftrag mal aus... und sagt mysql_error() mehr dazu (vielleicht die Stelle des Syntax-Fehlers)?
 
Also das ist was er ausgibt:

FEHLER1064You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-data (user, name, alter, email, ca-account, wr-account, passwort) ' at line 1
INSERT INTO user-data (user, name, alter, email, ca-account, wr-account, passwort) VALUES ('testuser', 'testname', '99', 'testemail', '', '', 'test')

Lieg ich falsch, wenn ich sage das 2 variablen nicht richtig übertragen werden???

Die Tabelle heißt user-data. Is das vllt das Problem.

Hier noch mal ein Screen von phpmyadmin:
 

Anhänge

  • screen.JPG
    screen.JPG
    40,4 KB · Aufrufe: 301
Zuletzt bearbeitet:
Es liegt wohl am Bindestrich im Tabellen-Namen. Entweder den Bindestrich weg lassen oder, wenns nicht anders geht, vielleicht mal mit ´user-data´ versuchen.
 
Ok hab jetzt alles was irgendeien Bindestrich hat geändert:

FEHLER1064You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alter, email, caAccount, wrAccount, passwort) VALUES ('' at line 1

INSERT INTO userData (user, name, alter, email, caAccount, wrAccount, passwort) VALUES ('testuser', 'testname', '99', 'testemail', '', '', '')

Vllt gefällt das count von Account nicht...


EDIT (autom. Beitragszusammenführung):


Ok hab das Problem. Alter scheint ein Schlüsselwort zu sein.
 
Zuletzt bearbeitet:
Und das Problem hättest du nicht, wenn du deine Feldnamen in ` ` setzen würdest.... genauso den Tabellennamen. Dann weiss MySQL auch, dass das als Name gedacht ist und nicht als Schlüsselwort.

ALTER brauchst du btw. zum Ändern der Tabellenstruktur, wenn ich das richtig in Erinnerung habe.
 

Online-Statistiken

Zurzeit aktive Mitglieder
0
Zurzeit aktive Gäste
394
Besucher gesamt
394

Neueste Themen

Beliebte Forum-Themen

X
Keine passende Antwort gefunden?