Abfrage wird nicht mit Werten gefüllt

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

  • Abfrage wird nicht mit Werten gefüllt

    Hallo!
    Also kA, ich hab eine sql abfrage geschrieben und da bei der If-Anweisung immer das Falsche erfebnis rauskam hab ich mal alle Werte ausgeben wollen und bemerkt das die Abfrage gar nicht richtig läuf bzw. einfach nichts ausgibt...

    PHP-Code:
    case "kaufen":
      
    $id $_GET["id"];
      
    mysql_connect ("localhost","","") or die ("Keine Verbindung zum Server");
    mysql_select_db ("") or die ("Keine Tabelle ausgewählt");
      
    $sql="SELECT pferde.*, benutzerdaten.* FROM pferde INNER JOIN benutzerdaten WHERE benutzerdaten.Id = '".$_SESSION['user_id']."' AND pferde.Pferd_id = $id";
      
    $ergebnis mysql_query($sql)
        or die(
    mysql_error().'<hr />'.'euer SQL'.'<hr />');
        echo 
    "<br><br>";
      if (
    $row->Wert >= $row->Konto OR $row->Besitzer != 'Markt')
     {
     echo 
    "Zu wenig Geld";
     echo 
    "Wert ist $row->Wert";
     echo 
    "Besitzer ist $row->Besitzer"// hier wollte ich es testen.
     
    }
      else {
      echo 
    "Du kannst es kaufen.";
      }
    break; 
    Hab ich etwas nicht beachtet?
    Zuletzt geändert von Maybe; 03.12.2006, 09:31.

  • #2
    wo wird denn $row definiert?!

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      omg... xDD
      Danke ^^ kann geschlossen werden ^^

      Kommentar


      • #4
        Oder okay - bevor ich ein neues Thema eröffne kann ich hier auch eig. gleich den nächsten Fehler im nächsten Script posten:

        Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/maybepower/hero/neu/job.php on line 30

        PHP-Code:
        include ("checkuser.php"); 
          
        mysql_connect ("localhost","","") or die ("Keine Verbindung zum Server");
        mysql_select_db ("") or die ("Keine Tabelle ausgewählt");
          
        $id1 $_GET["id"];
          
        $pferd_id $_GET["pferd_id"];
        $sql "UPDATE tierarzt 
        SET Behandlung = 'Ja' 
        WHERE Ta_id = 
        $id1";
           
        $ergebnis1 mysql_query($sql)
           or die(
        mysql_error().'<hr />'.'euer SQL'.'<hr />');
           
        $sql "UPDATE pferde 
        SET Gesund = '1000' 
        WHERE Pferd_id = 
        $pferd_id";
           
        $ergebnis2 mysql_query($sql);
          
        $ergebnis3 mysql_query("SELECT * FROM benutzerdaten 
        WHERE Id = '"
        .$_SESSION['user_id']."'") or die(mysql_error()) ;
             
        $row mysql_fetch_object($ergebnis3);
           
        $kontoneu $row->Konto '100';
           
        $sql "UPDATE benutzerdaten 
        SET Konto = 
        $kontoneu 
        WHERE Id = '"
        .$_SESSION['user_id']."'";
           
        $ergebnis4 mysql_query($sql)
           or die(
        mysql_error().'<hr />'.'euer SQL'.'<hr />');
           
        mysql_close();
             
        mysql_connect ("localhost","","") or die ("Keine Verbindung zum Server");
        mysql_select_db ("") or die ("Keine Tabelle ausgewählt");

            
        $ergebnis5 mysql_query("SELECT * FROM tierarzt 
        WHERE Ta_id = 
        $id1");
             
        $row mysql_fetch_object($ergebnis5);
             
        $user $row->B_id;
             echo 
        "$user<br>";
           
        $ergebnis7 mysql_query("SELECT * FROM benutzerdaten 
        WHERE 
        $user = Id");
            
        $row2 mysql_fetch_object($ergebnis7);
          
        $kontoneu2 $row2->Konto '100';
             
        $sql "UPDATE benutzerdaten 
        SET Konto = 
        $kontoneu2 
        WHERE Id = 
        $user";
              
        $ergebnis6 mysql_query($sql)
         or die(
        mysql_error().'<hr />'.'euer SQL'.'<hr />');
           echo 
        "Der Auftrag wurde ausgeführt."
        Zeile 30:

        PHP-Code:
         $ergebnis3 mysql_query("SELECT * 
        FROM benutzerdaten 
        WHERE Id = '"
        .$_SESSION['user_id']."'") or die(mysql_error()) ; 

        Kommentar


        • #5
          PHP-Code:
          $sql "SELECT * FROM benutzerdaten WHERE Id = '".$_SESSION['user_id']."'";
          echo 
          $sql;
          $ergebnis3 mysql_query($sql) or die(mysql_error()); 
          Würde dir (denke ich) zeigen das dein Statement so aussieht.

          SELECT * FROM benutzerdaten WHERE Id = '';

          Und was sagt uns das?
          gruss Chris

          [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

          Kommentar


          • #6
            Joa +am kopf kratz+ der Fehler is gelöst, der nächste is da =/
            Eig. könnte ich mir gleich einen Sammelthread erstelln...

            PHP-Code:
            <?php 
              
            <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
                <
            p><select name="Deckhengst" size="1">
                <?
              
            $ergebnis mysql_query("SELECT * FROM 
            pferde WHERE 
            Besitzer = '"
            .$_SESSION['user_id']."' AND Geschlecht = 'Hengst'");
                while (
            $row mysql_fetch_object($ergebnis))
            {
              
            ?>  <option value="<? $row->Pferd_id ?>"><? $row->Name ?></option>
              <?  } ?>
                <form name="Decktaxe">
             <p><input type="Decktaxe" name="Decktaxe"></p>
             </form>
             <form name="Beschreibung">
                <p><textarea name="Beschreibung" rows="3"></textarea></p>
            <input type="submit" value="Aendern" name="submit">
            </form>
            <?

            $_POST['Deckhengst'] = $Hengstname; // zeile 42
            $_POST['Decktaxe'] = $Decktaxe; // zeile 43
            $row->Rasse = $Rasse; // zeile 44
            $_POST['Beschreibung'] = $Beschreibung;
              $eintrag = mysql_query("INSERT INTO deckhengste 
            (Deck_id, Hengstname, Decktaxe, Rasse, Beschreibung) VALUES 
            ('', $Hengstname, $Decktaxe, $Rasse, $Beschreibung"); // Zeile 46

            ?>
            Fehlermeldungen:
            Notice: Undefined variable: Hengstname in /usr/export/www/vhosts/funnetwork/hosting/maybepower/hero/neu/deckhengst.php on line 42, 43, 44, 46

            Kommentar


            • #7
              Eine Zuweisung wird immer und in jeder mit bekannten Sprache von rechts nach links wirksam, x = 4 belegt x mit dem Wert 4, foo = bar belegt foo mit dem Wert von bar und nicht etwa umgedreht.
              So und nun liest du die fraglichen Zeilen nochmal!

              Kommentar


              • #8
                hm... okay danke =D Aber Fehlerlos isses leider noch nicht =(

                Hab den teil jetzt so rumgedreht und noch ein If drangehängt:
                PHP-Code:
                  ?>
                  <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
                    <p><select name="Deckhengst" size="1">
                    <?
                  $ergebnis = mysql_query("SELECT * FROM pferde 
                WHERE Besitzer = '".$_SESSION['user_id']."' AND Geschlecht = 'Hengst'");
                    while ($row = mysql_fetch_object($ergebnis))
                {
                  ?>  <option value="<? $row->Pferd_id ?>"><? $row->Name ?></option>
                  <?  } ?>
                    <form name="Decktaxe">
                 <p><input type="Decktaxe" name="Decktaxe"></p>
                 </form>
                 <form name="Beschreibung">
                    <p><textarea name="Beschreibung" rows="3"></textarea></p>
                <input type="submit" value="Aendern" name="submit">
                </form>
                <?
                if (!empty($_POST["submit"])) {
                $Hengstname = $_POST['Deckhengst'];
                $Decktaxe = $_POST['Decktaxe'];
                $Rasse = $row->Rasse;
                $Beschreibung = $_POST['Beschreibung'];
                  $eintrag = mysql_query("INSERT INTO deckhengste 
                (Deck_id, Hengstname, Decktaxe, Rasse, Beschreibung) VALUES 
                ('', $Hengstname, $Decktaxe, $Rasse, $Beschreibung");
                }
                ?>
                Aber: Das Drop-down menü wird als Leer angezeigt, außerdem speichert es nach dem Absenden nichts in der DB

                Kommentar


                • #9
                  Also ich bin mir sicher das vor allem das nich geht :
                  PHP-Code:
                  {
                    ?>  <option value="<? $row->Pferd_id ?>"><? $row->Name ?></option>
                    <?  } ?>
                  Hat jemand eine idee wie es anders zu schreiben oder eben richtig ist? =/

                  Kommentar


                  • #10
                    echo? var_dump($row)?

                    Kommentar


                    • #11
                      Original geschrieben von onemorenerd
                      echo? var_dump($row)?
                      Tut mir leid aber davon hab ich jetzt leider nichts verstanden

                      Kommentar


                      • #12
                        wie wäre es mit

                        <? echo $row->Pferd_id ?>

                        oder

                        <?= $row->Pferd_id ?>


                        ????

                        Im übrigen...

                        Gewöhn dir lieber mal an

                        <?php zu schreiben anstatt <?
                        gruss Chris

                        [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                        Kommentar


                        • #13
                          Also
                          PHP-Code:
                            ?>  <option value="<? echo $row->Pferd_id ?>"> <? echo $row->Name ?> </option>
                          Hat leider nicht im Geringsten verändert...
                          Joa, ich schreib immer die kurzform +gg+ Ist halt wirklich kürzer +lol+

                          Kommentar


                          • #14
                            Dann änder mal

                            PHP-Code:
                            $ergebnis mysql_query("SELECT * FROM pferde 
                            WHERE Besitzer = '"
                            .$_SESSION['user_id']."' AND Geschlecht = 'Hengst'") or die(mysql_error()); 
                            Und falls das keinen Fehler ausschmeisst

                            PHP-Code:
                            while ($row mysql_fetch_object($ergebnis))
                            {
                               
                            var_dump($row); // Wie bereits vorgeschlagen

                               // Restlicher Code

                            gruss Chris

                            [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                            Kommentar


                            • #15
                              Also ich hab beschlossen es anders zu lösen ^^
                              Nur - omg - wieder fehler:

                              PHP-Code:
                                <form action="deckhengste2.php" method="post">
                               <
                              p><input type="text" name="Deckhengst"></p>
                               <
                              p><input type="text" name="Decktaxe"></p>
                               <
                              textarea name="Beschreibung" rows="3"></textarea>
                              <
                              input type="submit" value="Aendern" name="submit">
                              <
                              br
                              2.
                              PHP-Code:
                                 $ergebnis mysql_query("SELECT * FROM pferde 
                                  WHERE Besitzer = '"
                              .$_SESSION['user_nickname']."' AND Geschlecht = 'Hengst'") or die(mysql_error());
                                       
                              $row mysql_fetch_object($ergebnis);
                              if (!empty(
                              $_POST["submit"])) {
                                
                              $eintrag "INSERT INTO deckhengst (Deck_id, Hengstname, Decktaxe, Rasse, Beschreibung) 
                              VALUES ('', '
                              $_POST[Decktaxe]', '$_POST[Decktaxe]', '$row->Rasse', '$_POST[Beschreibung]'";
                                  
                              $eintragen mysql_query($eintrag);
                                    if (
                              mysql_query($sql)) {
                                      echo 
                              "<p><center>Erfolgreich geupdatet</center></p>";
                                  } else {
                                      echo 
                              "<p>Dateneingabe nicht erfolgreich!</p><br>
                                  '"
                              .$_POST['Beschreibung']."'";
                                  } 
                                  
                              mysql_close(); 
                              Es kommt immer "Dateneingabe nicht erfolgreich!"

                              Kommentar

                              Lädt...
                              X