Ankündigung

Einklappen
Keine Ankündigung bisher.

Können Tabellenspalten Zahlen sein?

Einklappen

Neue Werbung 2019

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

  • Können Tabellenspalten Zahlen sein?

    Hallo zusammen

    Mir schreibt es nicht in die DB ... Ich bin mir nun nicht sicher, ob der Fehler bei der Datenbank liegt, oder am Skript ...

    Code:
    <td><input name="1" type="radio" value="5" /></td>
    <td><input name="1" type="radio" value="4" /></td>
    <td><input name="1" type="radio" value="3" /></td>
    <td><input name="1" type="radio" value="2" /></td>
    <td><input name="1" type="radio" value="1" /></td>
    <td><input name="1" type="radio" value="0" /></td>
    Dies ist ein Ausschnitt aus dem Abfrageformular.
    PHP-Code:

    $frage
    [1] = $_POST['1'];
    $frage[2] = $_POST['2'];
    $frage[3] = $_POST['3'];
    $frage[4] = $_POST['4'];
    // etc.


    $eintragen "INSERT INTO kunde1 (1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 , 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, name) values ('$frage[1]', '$frage[2]', '$frage[3]', '$frage[4]','$frage[5]', '$frage[6]','$frage[7]', '$frage[8]','$frage[9]', '$frage[10]','$frage[11]', '$frage[12]','$frage[13]', '$frage[14]','$frage[15]', '$frage[16]','$frage[17]', '$frage[18]','$frage[19]', '$frage[20]','$frage[21]', '$frage[22]','$frage[23]', '$frage[24]','$frage[25]', '$frage[26]','$frage[27]', '$frage[28]','$frage[29]', '$frage[30]','$frage[31]', '$frage[32]','$frage[33]', '$frage[34]','$frage[35]', '$frage[36]','$frage[37]', '$frage[38]','$frage[39]', '$frage[40]','$frage[41]', '$frage[42]', '$name')";
                                    

    $result mysql_query($eintragen); 
    Schliesslich wird nix in die DB geschrieben

  • #2
    probier mal
    echo mysql_error();
    könnte meines erachtens gut sein, dass spaltennamen mit buchstaben anfangen müssen
    Karteikasten
    "Es gibt auch Linux-Aussteiger. Aber die Rückfallquote steigt mit jeder Win-Version." - Walter Saner in de.newusers.questions

    Kommentar


    • #3
      Soweit ich mich erinner, fangen Spaltennamen mit einen Buchstaben an.
      Nicht jeder Fehler ist ein Bug.

      Kommentar


      • #4
        Hallo,
        zunächst macht es keinen Sinn, Spaltennamen mit einer Zahl zu belegen, denn Zahlen haben keine Aussagekraft, 1, 2, 3, was?
        Mach dich mal über Normalisierung schlau:
        http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)
        (Verlinkung kaputt, bitte copy&paste)
        Aufzählungen solltest du besser in eine Extra-Tabelle auslagern.

        Wenn du es dir aber einfach machen möchtest (was schade wäre), kannst du auch mal versuchen, Backticks um die Spalten"namen" zu setzen:

        Code:
        INSERT INTO `kunde1` (`1`, `2`, ..) VALUES ('$frage[1]', ..)
        (`Backticks` für Datenbank-, Tabellen-, Spalten-namen und Aliase, 'einfache Anführungszeichen' für String-Werte)


        Eine weitere Möglichkeit wäre, die Spaltenangabe komplett (inklusive ihrer runden Klammern) wegzulassen. Für nicht definierte Werte müsstest du dann deinen Default-Wert oder NULL übergeben.
        Code:
        INSERT INTO `kunde1` VALUES ('$frage[1]', NULL, '', ..)
        Übrigens fangen Array-Indexierungen mit 0 und nicht mit 1 an.

        Und das auch noch: Willkommen hier im Forum Ohne Anlass aber vielleicht in weiser Voraussicht, hier ein Link zu unseren Forenregeln:
        PHP-Anfänger
        HTML/CSS/JavaScript

        Kommentar


        • #5
          Zitat von Zergling

          Und das auch noch: Willkommen hier im Forum Ohne Anlass aber vielleicht in weiser Voraussicht, hier ein Link zu unseren Forenregeln:
          PHP-Anfänger
          HTML/CSS/JavaScript
          Zuerst mal Danke für eure Hilfe. Ich werde wohl die Zahlen in Buchstaben umwandeln. Das mit den 'Zahl' hatte ich auch schon probiert und hat nicht funktioniert. Der Grund, weshalb ich Zahlen gewählt habe, ist, dass ich einen Fragebogen mit 42 Fragen habe. Anstatt mir zu jeder Frage noch ein Stichwort merken oder jeweils nachschlagen zu müssen, dachte ich intelligent zu sein und Zahlen zu wählen (zählen kann ich ).

          Noch zum Admin-kommentar. Ich hatte hier bereits einen Account, doch da ich den Benutzernamen nicht mehr weiss, konnte ich mein Passwort nicht mehr verlangen. Des weiteren verhalte ich mich in Foren immer ganz brav und beachte die Regeln

          Kommentar


          • #6
            Hast du schon was über Normalisierung gehört? (43 Felder )
            statt alle fragen in eine Tabelle reinzuhauen, erstellt man normale weise eine extra Tabelle, die mit dem Kunden über den kunden_id gebunden ist.

            Tabelle Kunde
            kunde_id | Name | bljablja| blja...

            Tabelle Fragen// hier Sind alle 42 Fragen aufgelistet
            fragen_id | Frage

            Tabelle Fragen_Ergebnis // unique(kunden_id, fragen_id) als fremdschlüssel von Kunde und Fragen
            id|kunden_id| fragen_id | Datum| keine Ahnung....
            Slava
            http://bituniverse.com

            Kommentar


            • #7
              Ich werde wohl die Zahlen in Buchstaben umwandeln. Das mit den 'Zahl' hatte ich auch schon probiert und hat nicht funktioniert.
              Bitte Zerglings Posting nochmal genau lesen: Er sprach von Backticks `, nicht von Hochkomma '
              Nicht jeder Fehler ist ein Bug.

              Kommentar

              Lädt...
              X