Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Wie behebt man diese Fehlermeldung?

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Wie behebt man diese Fehlermeldung?

    Hi Leute,
    ich muss eine Variable ID über den Link auf eine andere Seite übergeben. Da ich eine Detailanischt machen möchte und dafür die ID des ausgewählten Datensatzes übergeben werden muss.

    1.Frage:
    Funktioniert das überhaupt, da sich mehrer ID's auf der Seite befinden.

    2.Frage:
    Diese Fehlermeldung bekomme ich immer:
    Parse error: syntax error, unexpected 'ID' (T_STRING), expecting ',' or ';' in C:\xampp\htdocs\Kapp\besmeldbe.php on line 49

    PHP-Code Hauptseite:
    PHP-Code:
    <?php
              $taga 
    $_POST['taga'];
            
    $monata $_POST['monata'];
            
    $jahra $_POST['jahra'];
            
    $tagb $_POST['tagb'];
            
    $monatb $_POST['monatb'];
            
    $jahrb $_POST['jahrb'];
            
    $standort =$_POST['standort'];

              
    mysql_connect('localhost''root''jo12na12s12') or die(mysql_error());
              
    mysql_select_db('kapp') or die(mysql_error());

            
    $abfrage "SELECT ID, Firma,Besucher,BesuchAm,Ankunft,AbreiseAm,Betrifft FROM besmeld WHERE BesuchAm >= '$jahra-$monata-$taga' and AbreiseAm <= '$jahrb-$monatb-$tagb' and Standort = '$standort'";
            
    $query mysql_query($abfrage) or die(mysql_error());

            echo 
    '<table>
                    <colgroup>
                        <col width="18">
                        <col width="100">
                            <col width="320">
                      </colgroup>'
    ;
                echo 
    '<tr>';
                    echo 
    '<th>ID</th>';
                    echo 
    '<th>Firma</th>';
                    echo 
    '<th>Besucher</th>';
                    echo 
    '<th>Besuch am</th>';
                    echo 
    '<th>Ankunft</th>';
                    echo 
    '<th>Abreise am</th>';
                    echo 
    '<th>Betrifft</th>';
                    echo 
    '<th></th>';
                echo 
    '</tr>';
                while(
    $fetch mysql_fetch_assoc($query)){
                    echo 
    '<tr>';
                        echo 
    '<td>' $fetch['ID'] . '</td>';
                        echo 
    '<td>' $fetch['Firma'] . '</td>';
                        echo 
    '<td>' $fetch['Besucher'] . '</td>';
                        echo 
    '<td>' $fetch['BesuchAm'] . '</td>';
                        echo 
    '<td>' $fetch['Ankunft'] . '</td>';
                        echo 
    '<td>' $fetch['AbreiseAm'] . '</td>';
                        echo 
    '<td>' $fetch['Betrifft'] . '</td>';
                        echo 
    '<td><a href="detail.php?id=<?php echo $fetch['ID'];?>">detail</a></td>';
                        echo 
    '<td><a href="versenden.php">versenden</a></td>';
                        echo 
    '<td><a href="aendern.php" >aendern</a><br></td>';
                        echo 
    '<td><a href="kalender.php" >Kalendereintrag</a></td>';
                        echo 
    '<td><a href="loeschen.php" >loeschen</a></td>';
                    echo 
    '</tr>';

                }
            echo 
    '</table>';


     
    ?>
    PHP-Code Detailansicht:
    PHP-Code:
    <?php 

                        $id 
    = !empty($_GET['ID']) ? $_GET['ID'] : 'FEHLER';
                          
    mysql_connect('localhost''root''jo12na12s12') or die(mysql_error());
                          
    mysql_select_db('kapp') or die(mysql_error());

                        
    $abfrage "SELECT Aussteller FROM besmeld WHERE ID = '$id'";
                        
    $query mysql_query($abfrage) or die(mysql_error());
                        while(
    $row mysql_fetch_object($query))
                           {
                           echo 
    "$row->Aussteller";
                           }
                      
    ?>

  • #2
    PHP-Code:
     echo '<td><a href="detail.php?id=<?php echo $fetch['ID'];?>">detail</a></td>';
    der fehler hier ist zeimlich offensichtlich, der echo string fängt mit ' an und wird durch $fetch[' unterbrochen. danach kommt das ID das dann fehler macht. wieso hast du ei negtlich ein echo im echo string?

    das nächste mal wäre es nett, die zeile zu markieren.

    Kommentar


    • #3
      Ok danke Mach ich das nächste mal sorry,
      aber das löst zwar die Fehlermeldung, aber wie kann ich jetzt die abgefragte ID weiter übergeben?

      Kommentar


      • #4
        die übergibst du doch mittels der url, oder nicht?
        poste mal den neuen relevanten code.

        Kommentar


        • #5
          Im Grunde ist es immernoch der selbe Code.
          Ich weiß überhaupt nicht ob es so überhaupt funktioniert oder ich da ganz anders rangehen muss.
          Da die ID ja immer den selben Variablennamen hat und es eigentlich unendlich viele ID's geben kann wenn bei der Abfrage halt auch so viele Treffer rauskommen.
          Irgendwie muss der Link erkennen welche ID in seiner Spalte steht.

          Vielleicht geht es so, dass immer wenn eine neu Zeile erstellt wir dafür eine ZeilenID erstellt wird. Die ich dann übergeben kann.

          Kommentar


          • #6
            Zitat von Webmensch Beitrag anzeigen
            Da die ID ja immer den selben Variablennamen hat und es eigentlich unendlich viele ID's geben kann wenn bei der Abfrage halt auch so viele Treffer rauskommen.
            Irgendwie muss der Link erkennen welche ID in seiner Spalte steht.


            ging doch mit
            PHP-Code:
             $fetch['ID']; 

            Kommentar


            • #7
              Wie muss das dann im Link stehen weil

              PHP-Code:
              $fetch['ID'
              kann ich ja nicht nehmen weil sonst duch die ' wieder der echo string gestört wird.

              Kommentar


              • #8
                ist doch alles ganz einfach:
                PHP-Code:
                 echo '<td><a href="detail.php?id='$fetch['ID'] . '">detail</a></td>'
                oder so ähnlich.
                allerdings finde ich dieses permanntente echo nicht so super toll.
                dass du die benützeteoingaben nicht prüfst ist verwerflich, sql-injection.
                zudem ist mysql veraltet, benütze mysqlI oder PDO.

                Kommentar


                • #9
                  PHP-Code:
                   echo '<td><a href="detail.php?id='$fetch['ID'] . '">detail</a></td>'
                  Danke Jetzt klappts.

                  Um SQl Injection oder ähnlichem muss ich mir eigentlich keine Sorgen machen, da es um ein Intranet geht.
                  Es kann also niemand von außerhalb darauf zugreifen.

                  Was o.0 MySQL ist veraltet. Gibt es viele unterschiede von MSQLI zu MySQL?

                  Kommentar


                  • #10
                    Man muss isch um sowas immer sorgen machen. zumal es keine raketenwissenschaft ist da gegen was zu machen.

                    Was o.0 MySQL ist veraltet. Gibt es viele unterschiede von MSQLI zu MySQL?
                    Zitat von docu
                    Warnung

                    Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wird in der Zukunft entfernt werden.
                    migrieren?

                    http://php.net/manual/de/faq.databas...sql.deprecated

                    und auch gleich noch:
                    http://php.net/manual/de/mysqlinfo.api.choosing.php

                    Kommentar


                    • #11
                      Ich habe noch ein kleines Problem.
                      Also eigentlich funktioniert jetzt alles. In der URL wird die richtige ID richtig angezeigt, jetzt will ich sie in dieser SQl Abfrage nutzen:
                      Code:
                      $abfrage = "SELECT Aussteller FROM besmeld WHERE ID = '$id' ";
                      Ich bekomme keine Fehlermedlung aber es wird mir auch nichts angezeigt. Eigentlich sollte jetzt der Name des Ausstellers ausgegeben werden.

                      PHP-Code:
                      <?php 

                                          $id 
                      = !empty($_GET['ID']) ? $_GET['ID'] : 'FEHLER';
                                            
                      mysql_connect('localhost''root''jo12na12s12') or die(mysql_error());
                                            
                      mysql_select_db('kapp') or die(mysql_error());

                                                              
                      //Hier
                                          
                      $abfrage "SELECT Aussteller FROM besmeld WHERE ID = '$id' ";
                                          
                      $query mysql_query($abfrage) or die(mysql_error());
                                          while(
                      $row mysql_fetch_object($query))
                                             {
                                             echo 
                      "$row->Aussteller";
                                             }
                       
                      ?>
                      Trage ich in der Abfrage aber manuel die ID ein funktioniert es.

                      Kommentar


                      • #12
                        mysql_* ist nur eine Extension in PHP, welche mit der MySQL Datenbank kommuniziert. Diese wird schon länger nicht mehr aktiv weiterentwickelt und wird aber der nächsten Version von PHP nicht mehr dabei sein. mysqli kommuniziert auch mit der MySQL Datenbank, PDO kann mit mehreren Datenbannken (u.a. PostgreSQL, SQLite und ein paar andere) kommunizieren.
                        http://php.net/manual/de/book.pdo.php

                        LG

                        EDIT: ach verdammt ich war zu langsam
                        https://github.com/Ma27
                        Javascript Logic is funny:
                        [] + [] => "", [] + {} => object, {} + [] => 0, {} + {} => NaN

                        Kommentar


                        • #13
                          Da kommste selbst drauf!

                          Kommentar


                          • #14
                            Zitat von moma Beitrag anzeigen
                            Da kommste selbst drauf!
                            Ok ich versuchs

                            EDIT: Habs geschafft ... War echt zu leicht D Nochmals Vielen Dank an moma

                            Kommentar

                            Lädt...
                            X