INSERT INTO Problem

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

  • #16
    okay ich musste submit durch SAVE ersetzen, jetzt spuckt er auch was aus

    Duplicate entry '' for key 2


    array(15) { ["street"]=> string(1) "1" ["zip"]=> string(1) "2" ["city"]=> string(1) "3" ["country"]=> string(1) "4" ["web"]=> string(1) "5" ["facebook"]=> string(1) "6" ["youtube"]=> string(1) "7" ["soundcloud"]=> string(1) "8" ["icq"]=> string(1) "9" ["msn"]=> string(2) "10" ["skype"]=> string(2) "11" ["image"]=> string(2) "12" ["genres"]=> string(2) "13" ["about"]=> string(2) "14" ["SAVE"]=> string(4) "SAVE" } Duplicate entry '' for key 2
    Zuletzt geändert von OrangeStripes; 22.03.2012, 13:24.

    Kommentar


    • #17
      Jetzt führt er den Insert aus - die Fehlermeldung erhältst du, weil du vermutlich eine Spalte als Primary-Key oder zumindest als UNIQUE definiert hast, du für diese Spalte aber auto_increment nicht gesetzt hast bzw. du nicht selber dafür sorgst, dass eindeutige Werte in die Spalte gelangen.
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar


      • #18
        keines der felder ist unique.

        könnte UPDATE INTO funktionieren?

        da ja schon werte eingetragen sind die geändert werden sollen,

        natürlich nur die die auch ausgefüllt sind

        Kommentar


        • #19
          Willst du nun Daten eintragen oder ändern?
          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
          Schön - etwas Geschichte kann ja nicht schaden.
          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

          Kommentar


          • #20
            ändern... ist zum ändern der profildaten

            Kommentar


            • #21
              Dann solltest du dein Statement so ändern, dass es keinen Datensatz einfügt, sondern einen Datensatz ändert.

              Und nochwas: eine deiner Spalte MUSS ein PRIMARY-KEY oder UNIQUE-INDEX sein - sonst hättest du die Fehlermeldung 'Duplicate entry '' for key 2' nicht erhalten!
              Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
              Schön - etwas Geschichte kann ja nicht schaden.
              Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

              Kommentar


              • #22
                nur die ID ist primary und unique, und die ist nicht in der liste zur bearbeitung.

                ON DUPLICATE KEY UPDATE

                wäre eine lösung oder?

                Kommentar


                • #23
                  ok, danke für deine Hilfe, ich mach es jetzt so:

                  PHP-Code:
                              if (isset($_POST['SAVE'])){
                                      
                        if (
                  htmlspecialchars($_POST['street'] == '')) {} else {
                           
                  $connect mysql_connect($db_server$db_user$db_password) or die(mysql_error()); 
                           
                  mysql_select_db($db_databank) or die(mysql_error()); 
                           
                  mysql_query('UPDATE ??? 
                           SET STREET = "'
                  .mysql_real_escape_string(trim($_POST['street'])).'" 
                           WHERE UID="' 
                  $_SESSION['UID'] . '"') or die(mysql_error());}
                           
                        if (
                  htmlspecialchars($_POST['zip'] == '')) {} else {
                           
                  $connect mysql_connect($db_server$db_user$db_password) or die(mysql_error()); 
                           
                  mysql_select_db($db_databank) or die(mysql_error()); 
                           
                  mysql_query('UPDATE ??? 
                           SET ZIP = "'
                  .mysql_real_escape_string(trim($_POST['zip'])).'" 
                           WHERE UID="' 
                  $_SESSION['UID'] . '"') or die(mysql_error());} 
                  zwar umständlich aber genau
                  Zuletzt geändert von OrangeStripes; 22.03.2012, 14:44.

                  Kommentar


                  • #24
                    Was ist denn das?

                    Ich denk nicht mehr drüber nach - wenn es so funktioniert, wie du es haben möchtest, dann gut.
                    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                    Schön - etwas Geschichte kann ja nicht schaden.
                    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                    Kommentar


                    • #25
                      japp genau das sollte all meine erwartungen erfüllen

                      Kommentar

                      Lädt...
                      X