Datensätze werden nicht in MySQL geschrieben

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

  • Datensätze werden nicht in MySQL geschrieben

    Hiho an alle!

    hab hier folgendes Problem... ich möchte die zuvor ausgegeben
    bzw. erstellten Felder in Datensätze speichern. Die Verbindung
    zu meiner SQL-Datenbank steht (hab ich getestet). also kann
    es meiner Meinung nach nur am INSERT liegen. Der Fehler ist,
    das er immer nur der letzte Datensatz in die DB eingetragen wird.
    Ich möchte nun das er alle eingaben in unterschiedliche Datensätzespeichert:

    Beispiel:

    Platz Interpret Titel . . .

    1 Bla Blub

    2 Bla Blub

    .
    .
    .

    ^^ diese Usereingabe soll nun pro Platzierung einen Datensatz bekommen, z.B.

    1 Bla Blub // erster Datensatz
    2 Bla Blub // zweiter Datensatz u.s.w.

    Nun habe ich folgenden Code geschrieben...

    PHP-Code:

    error_reporting
    (E_ALL);

    $result mysql_query("SELECT * FROM playlist ORDER BY platzierung ASC");

    while(
    $row mysql_fetch_array($result)) {
        echo 
    "
        
        
    $row[platzierung]<br>
        
    $row[interpret]<br>
        
    $row[titel]<br>
        
    $row[realeased]<br>
        
    $row[label]<br>
        
    $row[status]<br>
        
        "
    ;
    }

    echo 
    "<form method = post>";

    for(
    $i 1;$i 3;$i++) {

    echo 
    "

     <table align=center>
      <tr>
       <td valign=top>Platz:</td>
       <td valign=top>Interpret:</td>
       <td valign=top>Titel:</td>
       <td valign=top>Erschienen am:</td>
       <td valign=top>Label / Records:</td>
       <td valign=top>Status:</td>
      </tr>
      <tr>
       <td><input type=int name=platzierung value=
    $i></td>
       <td><input type=text name=interpret[
    $i]></td>
       <td><input type=text name=titel[
    $i]></td>
       <td><input type=text name=realeased[
    $i]></td>
       <td><input type=text name=label[
    $i]></td>
       <td><input type=text name=status[
    $i]></td>
      </tr>
     </table>
    "
    ;
    }

    if(isset(
    $platzierung) && $interpret[$i] && $titel[$i] <> "") {

    mysql_query("INSERT INTO playlist (platzierung, interpret[$i],
     titel[
    $i], realeased[$i], label[$i], status[$i]) VALUES '$platzierung',  '$intrepret', 
    '
    $titel', '$realeased', '$label', '$status')");
    }

    ?> 
    Zuletzt geändert von MrEasy; 19.02.2005, 15:58.

  • #2
    ERST lesen! *verdammt*

    http://www.php-resource.de/forum/sho...threadid=50454

    Warum sehe ich in deinem Code keine Testausgaben. WIeso bist du dir überhaupt sicher, dass die Query überhaupt an die Datenbank gesendet wird. wieso bist du dir sicher, dass dabei kein fehler auftritt?

    Fragen über Fragen!

    Kommentar


    • #3
      die query sieht sowieso verdammt komisch aus.
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        jetzt wo man endlich die ganze query sieht, muss ich dir zustimmen.

        mit ner vernünftigen testausgabe wäre es noch offensichtlicher!

        Kommentar


        • #5
          jetzt wo man endlich die ganze query sieht,
          OffTopic:
          man sieht ja nicht mal die eigentliche

          @threadstarter: verwende mal bitte
          mysql_error und laß dir die generierte query ausgeben!
          OffTopic:
          je länger ich das script betrachte, desto weniger sinn ergibt es
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            man sieht ja nicht mal die eigentliche
            siehe
            mit ner vernünftigen testausgabe wäre es noch offensichtlicher!
            je länger ich das script betrachte, desto weniger sinn ergibt es
            OffTopic:
            gleich kriegen wir wieder einen auf den deckel.

            Kommentar


            • #7
              alles klar thx

              Kommentar


              • #8
                hab das mysql_error(); jetzt an folgender stelle eingefügt und ie Abfrage modifiziert...

                PHP-Code:
                  if(isset($platzierung) && $interpret[$i] && $titel[$i] <> "") {
                      
                $checker=true;
                    while(
                $checker == true) {
                    
                mysql_query("INSERT INTO playlist (platzierung, i
                nterpret, titel, realeased, label, status) 
                VALUES ('
                $platzierung', '$interpret[$i]', '$titel[$i]', '
                $realeased[$i]', '$label[$i]', '$status[$i]')");
                      or die(
                mysql_error());
                  
                $checker false;
                  } 
                nun kam folgende Fehlermeldung:

                parse error, unexpected T_LOGICAL_OR

                edit:

                ok sorry war ne blöde frage hab das problem gelößt... aber wo genau soll ich den mysql_error einsetzten?
                Zuletzt geändert von MrEasy; 19.02.2005, 16:41.

                Kommentar


                • #9
                  - parse error sind die banalsten, die sollte man nicht im forum nachfragen
                  - unexpected dingens heißt, das etwas (was genau, steht da) unerwarteter weise auftrat, was dort nix zu suchen hat
                  - wenn du nicht bereit bist, etwas eigeninitiative zu zeigen bzw. dir grundlagen anzueignen, macht es keinen spaß

                  edit: RTFM! das mysql_error() steht dort doch richtig, wenn du (angeblich) das problem gelöst hast, sollte es doch funktionieren.

                  laß dir die query ausgeben
                  echo
                  Zuletzt geändert von derHund; 19.02.2005, 16:46.
                  Die Zeit hat ihre Kinder längst gefressen

                  Kommentar


                  • #10
                    wenn du dir mal angesehen hättest, was mysql_error macht, dann wüsstest du auch, wohin.

                    Kommentar


                    • #11
                      hmmm so komme ich irgendwie nicht weiter... ich glaube ich braue einen andren Lösungsweg... hätte vielleicht einer von Euch ne gute Lösung für das Problem?

                      mfg Easy

                      Kommentar


                      • #12
                        ist hier nicht erklärt, wie man mysql_error() anwendet?

                        Kommentar


                        • #13
                          Du willst damit also sagen, dass du nicht in der Lage bist zu debuggen und dir somit keine weitere Hilfe erhoffst?

                          Kommentar


                          • #14
                            doch, hab das eben geschafft mit dem mysql_error befehl... hab nur im moment ein kleines problem mit folgendem fehler.... bin grad dabei das zu klären:

                            parse error, unexpected T_VARIABLE

                            Kommentar


                            • #15
                              Dann kommt dort eine Variable wo keine Variable sein darf - logisch oder?
                              Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                              var_dump(), print_r(), debug_backtrace und echo.
                              Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                              Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                              Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                              Kommentar

                              Lädt...
                              X