MySQL Problem...

    • MySQL Problem...

      Hi Leutz.

      Ich hab mir ein Login-System geschrieben und das läuft mit MySQL.
      Wenn ich es nur mit Benutzername, Passwort und E-mail mache, geht es, aber sobald ich was hinzufüge kommt ein Fehler bei der Datenbankanfrage.

      Hoffe ihr könnt mir helfen und findet den Fehler, ich wäre sehr dankbar, weil solangsam bekomm ich Kopfweh davon >.<"

      Das Registrierungsformular

      reg.php
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;>

      <html xmlns="w3.org/1999/xhtml&quot; xml:lang="en" lang="en">
      <head>
      <title>User registrieren</title>
      </head>

      <body>
      <b>Benutzer registrieren</b>
      <form name="Eingabe" action="writedata.php" method="post">
      Benutzername: <br>
      <input type="text" name="benutzer" size="20"><br>
      Passwort: <br>
      <input type="password" name="pass" size="20"><br>
      E-mail-Adresse: <br>
      <input type="text" name="mail" size="20"><br>
      Admin:
      <input type="text" name="admin" size="1">
      CS:
      <input type="text" name="cs" size="1">
      BF:
      <input type="text" name="bf" size="1">
      RO:
      <input type="text" name="ro" size="1">
      PR:
      <input type="text" name="pr" size="1"><br><br>

      <input type="submit" value="Registrieren">
      <input type="reset" value="Reset">
      </form>
      </body>
      </html>



      writedata.php
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
      "w3.org/TR/html4/loose.dtd&quot;>

      <html>
      <body>
      <?php
      $benutzer=$HTTP_POST_VARS['benutzer'];
      $pass=$HTTP_POST_VARS['pass'];
      $mail=$HTTP_POST_VARS['mail'];
      $admin=$HTTP_POST_VARS['admin'];
      $cs=$HTTP_POST_VARS['cs'];
      $bf=$HTTP_POST_VARS['bf'];
      $ro=$HTTP_POST_VARS['ro'];
      $pr=$HTTP_POST_VARS['pr'];
      $db=mysql_connect("host","db","pw")
      or die("<b>Zur Zeit kein Connect zum Datenbankserver!</b>");
      mysql_select_db("db")
      or die("<b>Datenbank konnte nicht angesprochen werden</b>");
      $anfrage="SELECT * FROM user WHERE Benutzer LIKE'";
      $anfrage.=$benutzer;
      $anfrage.="'";
      $ergebnis=mysql_query($anfrage)
      or die("<b>Fehler bei der Datenbankanfrage</b>");
      $anz=mysql_num_rows($ergebnis);
      if($anz==0) {
      //Jetzt neuen Benutzer eintragen
      $anfrage="INSERT INTO user VALUES ('";
      $anfrage.=$benutzer;
      $anfrage.="', '";
      $anfrage.=$pass;
      $anfrage.="', '";
      $anfrage.=$mail;
      $anfrage.="', '";
      $anfrage.=$admin;
      $anfrage.="', '";
      $anfrage.=$cs;
      $anfrage.="', '";
      $anfrage.=$bf;
      $anfrage.="', '";
      $anfrage.=$ro;
      $anfrage.="', '";
      $anfrage.=$pr;
      $anfrage.="')";
      mysql_query($anfrage)
      or die("<b>Fehler bei der Datenbankanfrage(2)</b>");
      print("<p>Registrierung erfolgreich!</p>");
      print("<p>Die folgenden Daten wurden in der Datenbank erfolgreich gespeichert:<br><br>");
      print("Benutzer: <br>");
      print($benutzer);
      print("<br>");
      print("Passwort: <br>");
      print($pass);
      print("<br>");
      print("E-mail: <br>");
      print($mail);
      print("<br>");
      print($admin);
      print("<br>");
      print($cs);
      print("<br>");
      print($bf);
      print("<br>");
      print($ro);
      print("<br>");
      print($pr);
      print("<br>");
      }
      else {
      //Benutzer ist schon vorhanden
      print("<p>Der Benutzername ");
      print($benutzer);
      print(" ist schon vergeben.</p>");
      print("<br><p>Bitte wählen sie einen neuen Benutzernamen!</p>");
      }
      mysql_close($db);
      ?>
      </body>
      </html>


      Ich hab den Datenbankhost, Pw usw. rausgenommen.

      Plz help!

      MfG Sitemaster
    • Original von El#PasO
      Das heißt, dass du mehr Werte hast die du in deine Tabelle einfügen willst als deine Tabelle Spalten hat.


      Komisch, es sind sogar noch 2 weitere Spalten da, die ich dabei nicht berücksichtige...
      In der DB sind es 10 Spalten, 8 sollten bei diesem Script bearbeitet werden, aber es scheint nur bei 3 zu gehen (Benutzer, E-mail und Passwort)...
    • Original von El#PasO
      Das ist dann schon etwas seltsam. Versuch mal, die Zeile

      $anfrage.="')";

      so abzuändern, dass du einfach zwei leere Werte mitgibst:

      $anfrage.="', '', '')";


      Gleicher Fehler. Schreib ich das Ding mal neu, vielleicht hilft das...
    • Versuch's mal damit; die Endung .gif musst du entfernen! (Keine Garantie; hab nur n bissl daran rumgebastelt und nicht getestet)
      Hab's angehängt weil das Board den PHP-Code n bissl durcheinander darstellt... (...und wieder gelöscht um Speicherplatz zu sparen ;) )

      Das ist gleich XHTML-Kompatibel gemacht; wenn du's schon im Doctype so definierst ;) und der PHP-Code eingerückt. Hoffe das hilft dir.

      Du kannst MySQL auch genau sagen welche Werte du einfügen möchtest, ich such mal schnell wie das ging; meld mich gleich wieder :)
    • Original von El#PasO
      Versuch's mal damit; die Endung .gif musst du entfernen! (Keine Garantie; hab nur n bissl daran rumgebastelt und nicht getestet)
      Hab's angehängt weil das Board den PHP-Code n bissl durcheinander darstellt...

      Das ist gleich XHTML-Kompatibel gemacht; wenn du's schon im Doctype so definierst ;) und der PHP-Code eingerückt. Hoffe das hilft dir.

      Du kannst MySQL auch genau sagen welche Werte du einfügen möchtest, ich such mal schnell wie das ging; meld mich gleich wieder :)


      Danke, aber es bleibt der Fehler... *grml*
      An der Datenbank dürfte es nicht liegen... aber ich veränder mal ein paar Sachen.