Duplicate entry '' for key 1

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

  • Icarus
    antwortet
    Hi hatte den gleichen Fehler.
    Es liegt an MYSQL. Du hast wahrscheinlich eine id in der Tabelle die mit dem Typ "auto_increment" gesetzt ist. Wenn du den nur auf tinyint stehen hast kannst du nur 255 Datensätze aufnehmen. Danach kommt diese Fehlermeldung wenn du noch mehr Datensätze reinschreiben willst. Setzt einfach den Typ der id auf INT dann funkt es wieder!!

    Einen Kommentar schreiben:


  • Lord-Napoleon
    antwortet
    Original geschrieben von mrhappiness
    korrigier erstma das html dadrinsieht irgendwie falsch aus oder?
    du musst schon das komplette formular in eine tabellenzelle packen...
    srry was?? stehe gerade aufn schlauch ^^

    Einen Kommentar schreiben:


  • mrhappiness
    antwortet
    korrigier erstma das html dadrin
    <TD width=520 bgColor=#506985>

    <form action=schimpfsave.php methode=POST><table border=0 width=510>

    <tr>
    sieht irgendwie falsch aus oder?
    du musst schon das komplette formular in eine tabellenzelle packen...

    Einen Kommentar schreiben:


  • Lord-Napoleon
    antwortet
    PHP-Code:
    <?
    if (!session_is_registered('username')) 
    {
    echo "<TABLE id=AutoNumber2 style=BORDER-COLLAPSE:collapse 
    borderColor=#000000 cellSpacing=0 cellPadding=0 width=520 border=1>
    <TBODY>
    <TR>
    <TD width=520 bgColor=#506985 height=25>
    <P align=left>&nbsp;</P></TD></TR>
    <TR>
    <TD width=520 bgColor=#e5e8eb>
    <p align=left>Sorry, aber sie haben sich wohl nicht eigeloggt, oder ?</TD></TR>
    </TBODY></TABLE>";
    }else{ 
    echo "<TABLE id=AutoNumber2 style=BORDER-COLLAPSE:collapse 
          borderColor=#000000 cellSpacing=0 cellPadding=0 width=520 border=1>
            <TBODY>
            <TR>
              <TD width=520 bgColor=#506985 height=25>
                <P align=left>&nbsp;</P></TD></TR>
            <TR>
              <TD width=520 bgColor=#506985>
                <form action=schimpfsave.php methode=POST><table border=0 width=510>
      <tr>
        <td width=255>
          <p align=right><font face=Tahoma,Helvetica&quot; size=2>» Schimpf Wort:</font></td>
        <td width=255><input type=text name=wort size=34></td>
      </tr>
      <tr>
        <td width=510 colspan=2>
          <p align=center><input type=submit value=Abschicken name=B1></p>
        </td>
      </tr>
    </table></form>
                <font face=Tahoma,Helvetica&quot; size=2>
                </front>
                </font></TD></TR>
            </TBODY></TABLE>"; 

    ?>

    Einen Kommentar schreiben:


  • mrhappiness
    antwortet
    Original geschrieben von Lord-Napoleon
    Array
    (
    )
    Array
    (
    [action] => schimpfsave1
    [schimpf] =>
    )
    also ein feld namens wort hast du unter garantie nicht

    poste mal die quellseite

    Einen Kommentar schreiben:


  • Lord-Napoleon
    antwortet
    Array
    (
    )
    Array
    (
    [action] => schimpfsave1
    [schimpf] =>
    )

    INSERT INTO schimpf01(wort,poster,datum) VALUES('','Lord-Napoleon','06.06.2003')
    Duplicate entry '' for key 1

    Einen Kommentar schreiben:


  • Lord-Napoleon
    antwortet
    Array
    (
    )
    Array
    (
    [action] => schimpfsave1
    [schimpf] =>
    )

    INSERT INTO schimpf01(wort,poster,datum) VALUES('','Lord-Napoleon','06.06.2003')

    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/www/n4a355/html/test/schimpfsave1.php on line 18
    Du hast 1,5 Punkte dazu bekommen

    Das Schimpf Wort: wurde soebend gespeichert.

    Einen Kommentar schreiben:


  • mrhappiness
    antwortet
    mach mal vor das require
    PHP-Code:
    echo '<pre>';
    print_r($_POST);
    print_r($_GET);
    echo 
    '</pre>'
    kann ja irgendwie nich sein, dass du in einem formular wort und username angibst, aber in deinem skript nur einer der beiden werte ankommt

    Einen Kommentar schreiben:


  • Lord-Napoleon
    antwortet
    hmm wort heißt der input auch wo man des wort eingibt

    Einen Kommentar schreiben:


  • mrhappiness
    antwortet
    du speicherst ja kein wort

    wo kommt denn $wort her?

    Einen Kommentar schreiben:


  • Lord-Napoleon
    antwortet
    INSERT INTO schimpf01(wort,poster,datum) VALUES('','Lord-Napoleon','06.06.2003')
    Duplicate entry '' for key 1

    hmm wie ich das als erstes hatte mit den username da hat der das andere gespeichert aber die punkte nicht des war ja das problem...

    Einen Kommentar schreiben:


  • delpino
    antwortet
    hoert sich an als ob du ein Feld als NULL definiert hast und jetzt einen weiteren record einfuegst der leer ist. da leer aber in diesem fall ein wert ist und zweimal vorkommt -> Fehlermeldung..

    Einen Kommentar schreiben:


  • Abraxax
    antwortet
    *VERSCHIEB* nach sql.

    Einen Kommentar schreiben:


  • mrhappiness
    antwortet
    PHP-Code:
    $sql="INSERT INTO schimpf01(wort,poster,datum) VALUES('$wort','$username','$datum')";
    echo 
    $sql.'<br />';
    $eintrag23 MYSQL_QUERY($sql) or die (mysql_error()); 
    ausgabe?

    die fehlermeldung besagt, dass du in eine spalte eine sbereits vorhandenen wert schreiben wolltest, das aber nicht geht, weil deine tabellenstruktur das verbietet

    Einen Kommentar schreiben:


  • Lord-Napoleon
    hat ein Thema erstellt Duplicate entry '' for key 1.

    Duplicate entry '' for key 1

    hmm was soll das??

    Code:
    PHP-Code:
    <?
    require("config.inc.php");
    $timestamp = time(); /* Holt die Zeit */
    $datum = date("d.m.Y",$timestamp); /* Legt das Datum fest */

    MYSQL_CONNECT($host, $usr, $pw) or die ( "Datenbankserver nicht erreichbar");
    MYSQL_SELECT_DB($db) or die ( "Datenbank nicht vorhanden"); 

    $eintrag23 = MYSQL_QUERY( "INSERT INTO schimpf01(wort,poster,datum) VALUES('$wort','$username','$datum')") or die (mysql_error());
    $SQLstring1 = "SELECT * FROM haupt WHERE poster = '".$name."'";
    $ergebnis1 = mysql_query($SQLstring1);
    while($zeile=mysql_fetch_row($ergebnis1)){
    $punkte = $zeile[6]+3/2;
    }
    $query = "UPDATE haupt Set punkte = punkte+1,5 WHERE poster='$name'";
    $result = mysql_query($query);
    mysql_error();
    if ($query)
    {
    echo"Du hast 1,5 Punkte dazu bekommen";
    }else{
    echo"Ihrgend ein Fehler ist aufgetreten wir konnten dir keine 1,5 Punkte geben";
    }
    if ($eintrag23) {
        echo "<TABLE id=AutoNumber2 style=BORDER-COLLAPSE:collapse 
    borderColor=#000000 cellSpacing=0 cellPadding=0 width=520 border=1>
    <TBODY>
    <TR>
    <TD width=520 bgColor=#002555 height=25>
    <P align=left>&nbsp;</P></TD></TR>
    <TR>
    <TD width=520 bgColor=#506985>
    <p align=left>Das Schimpf Wort: $schimpf wurde soebend gespeichert.</TD></TR>
    </TBODY></TABLE>";
     }else{ echo "<TABLE id=AutoNumber2 style=BORDER-COLLAPSE:collapse 
    borderColor=#000000 cellSpacing=0 cellPadding=0 width=520 border=1>
    <TBODY>
    <TR>
    <TD width=520 bgColor=#002555 height=25>
    <P align=left>&nbsp;</P></TD></TR>
    <TR>
    <TD width=520 bgColor=#506985>
    <p align=left>Dein Schimpf Wort: $schimpf gibt es schon in unserer Database!</TD></TR>
    </TBODY></TABLE>"; } 

    MYSQL_CLOSE();
    ?>
    in der tabelle schimpf heißt der username poster und in haupt heißt der name
Lädt...
X