Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] MYSQL Duplicate entry '0' for key 2

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] MYSQL Duplicate entry '0' for key 2

    Es kommt immer dieser Fehler:

    Duplicate entry '0' for key 2

    Gerne auch selber ausprobieren auf http://test.pennerspenden.de/index.php?page=register

    PHP-Code:
    <?PHP
    error_reporting
    (0);

    $sql 'SELECT COUNT(id) as user FROM `user`;';
    $db->query($sql);
    $data $db->fetch();
    if(
    $data['user'] >= 40)
      echo(
    '<font class="error">Benutzerobergrenze von 40 erreicht!<br />Beta-Runde ist voll.</font>');

    if(@
    $_POST['reg'] == 'Anmelden!')
    {
      
    $username mysql_real_escape_string($_POST['usr_name']);
      if(
    $_POST['usr_pass'] == $_POST['usr_pass2'])
        
    $pass md5($_POST['usr_pass']);
      if(
    is_numeric($_POST['usr_reflink']))
        
    $reflink $_POST['usr_reflink'];
      if(
    $_POST['usr_mail'] == $_POST['usr_mail2'])
        
    $mail = ($_POST['usr_mail']);
      if(
    $_POST['usr_mail'] != $_POST['usr_mail2'])
          echo(
    '<font class="error">E-Mail-Adressen stimmen nicht überein.</font>');
      if(empty(
    $username))
        echo(
    '<font class="error">Usernamen angeben.</font>');
      if(empty(
    $pass))
        echo(
    '<font class="error">Passwort leer oder Passw&ouml;rter stimmen nicht &uuml;berein.</font>');
      if(empty(
    $reflink))
        echo(
    '<font class="error">Keinen g&uuml;ltigen Reflink angegeben.</font>');
      if(
    $reflink 1000000)
        echo(
    '<font class="error">Ung&uuml;ltiger Relink.</font>');
      
    $sql 'SELECT id FROM `user` WHERE name="'.$username.'";';
      
    $db->query($sql);
      if(
    $db->rows)
        echo(
    '<font class="error">Username schon vergeben.</font>');
      
    $sql 'SELECT id FROM `user` WHERE reflink="'.$reflink.'";';
      
    $db->query($sql);
      if(
    $db->rows)
        echo(
    '<font class="error">Reflink schon vergeben.</font>');
      
    $sql 'SELECT id FROM `user` WHERE email="'.$mail.'";';
      
    $db->query($sql);
      if(
    $db->rows)
        echo(
    '<font class="error">E-Mail-Adresse schon vergeben.</font>');

      
    $sql 'INSERT INTO `user` SET name="'.$username.'", email="'.$mail.'", password="'.$pass.'", reflink="'.$reflink.'", credits=50, groupsize=10;';
      
    $db->query($sql);
      echo (
    '<font class"ok">User erfolgreich angelegt.<br />Du kannst dich nun einloggen.<br /><a href="index.php">Zur Loginseite</a></font>');
    }
    else
    {
    echo 
    'Das System hinter dem Spendenverteiler ist einfach.<br />
      Jeder angemeldete Benutzer bekommt nach der Registrierung ein paar Startcredits.<br />
      Er hat nun die Möglichkeit anderen Usern zu spenden (auf der Seite "Spenden").<br />
      Für jeden Benutzer, dem er etwas spendet, bekommt er einen Credit,<br />der dem jeweiligen Benutzer abgezogen wird.<br />
      Das hei&szlig;t, dass mit nur einem Klick vielen anderen Benutzern gespendet werden kann.<br />Und nur wer spendet, bekommt auch Spenden zur&uuml;ck.<br /><br />
      <strong>Wenn der Reflink schon vergeben ist, kann man ihn im Pennergame &auml;ndern!<br />
      Wenn der Benutzername schon vergeben ist, dann nimm einen anderen. Er muss nicht mit dem Namen im Pennergame &uuml;bereinstimmen!</strong><br>&nbsp;<br>
      <form action="index.php?page=register" method="post">
      <input class="textfield" type="text" name="usr_name" size="20" />&nbsp;&nbsp;<b>Username</b><br />
      <input class="textfield" type="password" name="usr_pass" size="20" />&nbsp;&nbsp;<b>Passwort</b><br />
      <input class="textfield" type="password" name="usr_pass2" size="20" />&nbsp;&nbsp;<b>Passwort wiederholen</b><br />
      <input class="textfield" type="text" name="usr_mail" size="20" />&nbsp;&nbsp;<b>E-Mail Adresse</b><br />
      <input class="textfield" type="text" name="usr_mail2" size="20" />&nbsp;&nbsp;<b>E-Mail Adresse wiederholen</b><br />
      <input class="textfield" type="text" name="usr_reflink" size="20" />&nbsp;&nbsp;<b>Reflink (Nur die Zahl am Ende vom Spendenlink)</b><br />
      <input class="submit" type="submit" name="reg" value="Anmelden!" />
      </form>'
    ;
    }
    ?>

  • #2
    Ich vermute, dass du das ID-Feld nicht auf AUTO_INCREMENT gesetzt hast.
    Der PHP-Code ist übrigens eher uninteressant für MySQL-Fehler. Und warum hast du deine Frage wegeditiert?

    Themenmoderation:
    [→] Verschoben von PHP-Fortgeschrittene
    Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

    Kommentar


    • #3
      auto increment ist an das ist ja das problem

      Frage ist doch noch da oder nicht?

      Kommentar


      • #4
        Was willst du mir damit jetzt sagen?
        Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

        Kommentar


        • #5
          das es nicht an auto increment liegt da es eingeschaltet ist!

          Kommentar


          • #6
            Hast du vielleicht aus Versehen einen Default-Wert für den Primärschlüssel festgelegt?
            Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

            Kommentar


            • #7
              Es war wohl was falsch gelaufen nachdem ich es in php myadmin aus und wieder eingeschaltet hatte udn das id feld auf unsigned geschaltet habe lief es wieder!

              Kommentar


              • #8
                Dann den Thread bitte noch als [Erledigt] markieren. Danke!
                Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                Kommentar


                • #9
                  Erledigt in doppelter Hinsicht

                  Kommentar

                  Lädt...
                  X