Problem mit meiner DB Abfrage

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

  • Problem mit meiner DB Abfrage

    Hallo,
    ich bin PHP Neuling.....
    Ich habe eine My SQL DB und dort eine Tabelle erstellt:

    Code:
     Feld  Typ Attribute Null Standard Extra Aktion 
       ID  int(11)   Nein    auto_increment              
       Sendungsnummer  varchar(20)   Nein                  
       MasterAWB  varchar(20)   Ja  NULL                
       Datum  date   Nein  0000-00-00                
       Uhrzeit  time   Nein  00:00:00                
       Empfänger  varchar(20)   Nein                  
       Bemerkung  varchar(50)   Ja  NULL                
       Timestamp  timestamp(14)   Ja  NULL
    Ich möchte dort mit einer Abfrage nur nach Sendungsnummer suchen...daher habe ich folgende htm seite geschrieben:

    PHP-Code:
    <HTML>
    <
    BODY>
    Welche Sendung suchen Sie?
    <
    FORM ACTION"uf08.php" method "post">
         <
    INPUT NAME "ug"Sendungsnummer<P>
         <
    INPUT TYPE="submit"
         <
    INPUT TYPE="reset"
    </
    FORM>
    </
    BODY>
    </
    HTML
    und die dazugehörige datei uf08.php:

    PHP-Code:
    <html>
    <body>
    <?php
       $db 
    mysql_connect(dbhostname,dbname,passwort);

       
    $sqlab "select Sendungsnummer, MasterAWB, Datum, Uhrzeit, Empfänger, Bemerkung from lieferdaten";
       
    $sqlab .= "where Sendungsnummer = $ug";
      

       
    $res mysql_db_query("dbname*"$sqlab);
       
    $num mysql_num_rows($res);

       if (
    $num==0)
          echo 
    "keine passenden Datensätze gefunden";

       for (
    $i=0$i<$num$i++)
       {
          
    $Sendungsnummer mysql_result($res$i"Sendungsnummer");
          
    $MasterAWB mysql_result($res$i"MasterAWB");
          
    $Datum mysql_result($res$i"Datum");
          
    $Uhrzeit mysql_result($res$i"Uhrzeit");
          
    $Empfänger mysql_result($res$i"Empfänger");
          
    $Bemerkung mysql_result($res$i"Bemerkung");
          echo 
    "$Sendungsnummer$MasterAWB$Datum$Uhrzeit$Empfänger$Bemerkung  <br>";
       }

       
    mysql_close($db);
    ?>
    </body>
    </html>
    mein Problem ist, daß ich immer als Antwort keine passenden Datensätze gefunden bekomme...obwohl Daten in der Tabelle sind und meine Nummern die ich eintrage mit denen der Datenbank übereinstimmen....
    was mache ich falsch?


    Danke
    Andreas


    EDIT:
    [php]+[code]-tags by Abraxax
    Zuletzt geändert von Abraxax; 10.12.2003, 11:37.

  • #2
    Du schreibst mal folgendes hinten dran:

    $res = mysql_db_query("dbname*", $sqlab) or die (mysql_error());

    Die Funktion mysql_error() ermöglicht Dir das Finden von Programmierfehlern, das ist zum Debuggen immer besser als eine eigene Fehlermeldung.

    Achso:
    "mysql_db_query
    Send a MySQL query (PHP 3, PHP 4 )
    Note:
    This function has been deprecated since PHP 4.0.6. Do not use this function. Use mysql_select_db() and mysql_query() instead. "
    /* Meine Lieblingsantwort: Read The Fucking Manual */

    Kommentar


    • #3
      @PPOTarget

      1. benutze bitte in zukunft die code+php-tags!

      2. poste dann auch ins richtige forum. das php-forum ist nicht für sql-fragen.

      *VERSCHIEB*


      mysql_db_query() ist im übrigen auch veraltet. siehe post von dirk letzte zeile.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Ich hab nun das Script geändert...doch ich bekomme nur eine leere Seite als Ausgabe....
        Obwohl wiegesagt Datensätze vorhanden sind...schnief

        PHP-Code:
        <html>
        <body>
        <?php
           $db 
        mysql_connect("dbhostname""benutzer""pw");

           
        $sqlab "select Sendungsnummer, MasterAWB, Datum, Uhrzeit, Empfänger, Bemerkung from lieferdaten";
           
        $sqlab .= "Sendungsnummer = $ug";
          

           
        $res mysql_query("db83780250"$sqlab) or die (mysql_error());
           
        $num mysql_num_rows($res);

           if (
        $num==0)
              echo 
        "keine passenden Datensätze gefunden";

           for (
        $i=0$i<$num$i++)
           {
              
        $Sendungsnummer mysql_result($res$i"Sendungsnummer");
              
        $MasterAWB mysql_result($res$i"MasterAWB");
              
        $Datum mysql_result($res$i"Datum");
              
        $Uhrzeit mysql_result($res$i"Uhrzeit");
              
        $Empfänger mysql_result($res$i"Empfänger");
              
        $Bemerkung mysql_result($res$i"Bemerkung");
              echo 
        "$Sendungsnummer$MasterAWB$Datum$Uhrzeit$Empfänger$Bemerkung  <br>";
           }

           
        mysql_close($db);
        ?>
        </body>
        </html>
        EDIT:
        [php]-tags by Abraxax
        Zuletzt geändert von Abraxax; 10.12.2003, 14:02.

        Kommentar


        • #5
          Original geschrieben von Abraxax
          @PPOTarget
          1. benutze bitte in zukunft die code+php-tags! [...]



          einmal habe ich es noch gemacht.
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            schluck......


            ent...ent...schuldigung.....

            Du meinst also ich sollte evtl in Brainstorming PHP oder ähnlichem posten?

            *rotwerd*...*nixmehrpeil*
            Zuletzt geändert von PPOTarget; 10.12.2003, 14:15.

            Kommentar


            • #7
              nein. im brainstorming musst du jetzt auch nicht anfangen, jeden thread dort zuu posten.

              schaue mal hier ....
              http://www.php-resource.de/forum/index.php?s=
              ... da steht immer ein kleiner text dabei. wenn du den mal liest, weisst du auch, welches forum das richtige ist.



              in deinem script solltest du auch mal $Empfänger ändern. das 'ä' macht sich da nicht gut.
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                Gegen weiße Seiten statt Fehlermeldungen hilft oft:
                PHP-Code:
                <?php

                ini_set
                ('display_errors','On');
                error_reporting(2047);

                ?>
                /* Meine Lieblingsantwort: Read The Fucking Manual */

                Kommentar


                • #9
                  Danke...jetzt hab ichs glaub ich verstanden...darf ich bitte trozdem noch fragen....`
                  Hab jetzt einiges verbessert...denk ich...aber nun bekomme ich immer den Fehler


                  Fatal Error: Fatal Error , parse error, unexpected T_VARIABLE (line 12)

                  und Line 12 ist

                  $num = mysql_num_rows($res);


                  ich sterb bald...echt...bin seit heute Nacht nur an diesen paar Zeilen....heul

                  Kommentar


                  • #10
                    der fehler ist aber bei mysql_query()

                    PHP-Code:
                    $db mysql_connect("dbhostname""benutzer""pw");
                    mysql_select_db("db83780250") or die(mysql_error());
                    $sqlab "select Sendungsnummer, MasterAWB, Datum, Uhrzeit, Empfänger, Bemerkung from lieferdaten";
                    $sqlab.= " WHERE Sendungsnummer = $ug";
                    $res mysql_query($sqlab) or die (mysql_error()); 
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      heul.....

                      Noch mehr Fehler...jammer.....

                      Kann mir nicht jemand bitte bitte helfen....ich werds auch gut machen....irgendwie...schnief...

                      Kommentar


                      • #12
                        wie wäre es, wenn du dich mal selber mit deinen problemen beschäftigst. das sind alles grundlagen.

                        www.schattenbaum.net könnte dir evtl auch helfen.
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          So...2te Nacht...
                          Aber nun hab ich nur noch einen Fehler in meinem Script der da lautet:


                          Fatal Error: Fatal Error , parse error, unexpected T_FOR, expecting ',' or ';' (line 23)

                          Das Script sieht nun so aus:
                          PHP-Code:
                          <html>
                          <body>
                          <?php
                          ini_set
                          ('display_errors','On');
                          error_reporting(2047);

                             
                          $db mysql_connect("host""benutzer""pw");
                            

                             
                          $sqlab " SELECT Sendungsnummer, MasterAWB, Datum, Uhrzeit, Empfaenger, Bemerkung FROM lieferdaten";
                             
                          $sqlab .= " Sendungsnummer = $ug";
                            

                             
                          $res mysql_query($sqlab) or die (mysql_error());
                             
                          $num mysql_num_rows($res);

                             if (
                          $num==0);
                              
                                echo
                          "keine passenden Datensätze gefunden"
                             
                            
                             
                          for($i=0$i<$num$i++)  "[U]DAS IST DIESE OMINÖSE LINE 23[/U] "
                             
                          {
                                 
                                
                          $Sendungsnummer mysql_result($res$i"Sendungsnummer");
                                
                          $MasterAWB mysql_result($res$i"MasterAWB");
                                
                          $Datum mysql_result($res$i"Datum");
                                
                          $Uhrzeit mysql_result($res$i"Uhrzeit");
                                
                          $Empfaenger mysql_result($res$i"Empfaenger");
                                
                          $Bemerkung mysql_result($res$i"Bemerkung");
                                echo 
                          "$Sendungsnummer$MasterAWB$Datum$Uhrzeit$Empfaenger$Bemerkung<br>";
                             }

                             
                          mysql_close($db);
                          ?>
                          </body>
                          </html>

                          Könnte sich jemand erbarmen und mir sagen was ich da falsch mache?? THX

                          @ABRAXAX
                          Jetzt hab ich auch gerallt was Du meintest mit " in PHP TAGS setzen"

                          Sorry
                          Zuletzt geändert von PPOTarget; 11.12.2003, 10:28.

                          Kommentar


                          • #14
                            Original geschrieben von PPOTarget
                            @ABRAXAX
                            Jetzt hab ich auch gerallt was Du meintest mit " in PHP TAGS setzen"
                            dann lernst du jetzt das nächste :
                            parser error bifinden sich meistens in der codezeile VOR der im error angegebenen zeilennummer (meistens)

                            tipp: zeilen enden mit ";"
                            Kissolino.com

                            Kommentar


                            • #15
                              auch macht es wenig sinn, wenn $num = 0 ist, die for-schleife anzufangen.

                              starte mit 0 solange $num kleiner 0 ist...
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar

                              Lädt...
                              X