Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Zuweisung eines Beitrages für einen Link

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Zuweisung eines Beitrages für einen Link

    So ich hab mal wieder ein kleines Problem.
    Und zwar erstellt mein script Menu punkte mit dazgehörigen Beitrag. Das klappt nun auch nachdem ich hier im Forum hilfe zu bekommen habe.

    Ich versuche es mal anhand eines Beispieles zu erklären wo mien Problem leigt.
    Ich habe nun also ein Menupunkt erstellt mit dem namen "Test". Der text der angezeigt werden soll nachdem man auf dem Menulink klick lautet "Hello World".
    Ich gehe nun also auf die Mainsite und siehe da der Menupunkt "Test" ist vorhanden ich klicke nun also drauf und die Fehlermeldung erscheint:
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\Projekt\beitrag.php on line 7
    In der url steht http://localhost/Projekt/beitrag.php?id=34

    Die id 34 ist der Primärschlüssel der Tabelle wo der Beitrag gespeichert wird.

    Hier ist noch der Quellcode der beitrag.php, ich finde dort einfach keinen Fehler, meiner Meinung nach hab ich alles richtig gemacht.
    PHP-Code:
    <?php
    $id 
    mysql_real_escape_string($_GET['id']);
    $abfrage1 "SELECT b_id,text FROM beitrag
                 WHERE b_id ="
    .$id."";
    $ergebnis1 mysql_query($abfrage1);

    while(
    $row mysql_fetch_object($ergebnis1)){
    ?>
    <div class="content_bg">
    <?php
    htmlspecialchars
    ($row->text);    
    }
    ?>
    </div>
    Der Fehler scheint irgendwo in der while schleife zu sein.
    Ich hoffe ich bekomme hier Hilfe und es macht sich einer die Mühe meinen Beitrag durchzulesen .

    Mfg


  • #2
    htmlspecialchars "filtert" einen Wert. Ausgaben tut es nichts.

    Der Fehler dürfte dagegen aus einer ungültigen Query resultieren. Details bekommst DU über [man]mysql_error[/man].
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      Kann es sein, dass man text in einem MySQL-Statement escapen muss? Es ist ja, so viel ich weiss, ein Keyword...

      Ersetze mal deine variable $abfrage1
      PHP-Code:
      $abfrage1 "SELECT b_id,`text` FROM beitrag 
                   WHERE b_id ="
      .$id.""

      Kommentar


      • #4
        Versuch mal das:

        PHP-Code:
        $abfrage1 "SELECT b_id,text FROM beitrag WHERE b_id = '$id'"

        Kommentar


        • #5
          Wiedermal finde ich das „Probier mal hier, probier mal das“ relativ unsinnig. mysql_error würde ihm und uns Informationen zum Fehler geben und auf der Basis könnte man dann auch einen Lösungshinweis geben. Vielleicht würde der TE sogar verstehen, wo das Problem liegt..
          --

          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


          --

          Kommentar


          • #6
            Zitat von Komatruppe Beitrag anzeigen
            Versuch mal das:

            PHP-Code:
            $abfrage1 "SELECT b_id,text FROM beitrag WHERE b_id = '$id'"
            wieso sollte das funktionieren aber
            PHP-Code:
            $abfrage1 "SELECT b_id,text FROM beitrag WHERE b_id =".$id.""
            das nicht? (auch wenn die ."" am Ende sinnlos sind).

            Das sinnvollste ist hier wie nikosch gesagt hat den query fehler anschaun in dem man sich den Fehler per mysql_error ausgibt.

            edit./ too late

            Kommentar


            • #7
              wieso sollte das funktionieren aber
              wenn die id nicht numerisch ist. Btw. ist real_escape im Ur-Code auch sinnfrei (weil ohne ' ' nicht wirksam).
              --

              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


              --

              Kommentar


              • #8
                Zitat von nikosch Beitrag anzeigen
                wenn die id nicht numerisch ist.
                achso ok, das wusste ich nicht, ich verwende eigentlich nur prepared statements.
                Aber wenn ich darüber nachdenk muss man dort ja auch angeben ob String oder ein numerrischer Wert übergeben wird.

                Kommentar


                • #9
                  So ich hab nu mysql_error hinzugefügt. Naja er hat ausgegeben, naja es hat sich herausgestellt das ich die config.php vergessen hab zu includen .
                  Aber geht trotzdem nicht. Nun kommt weder ne Fehlermeldung noch das gewünschte ergebnis.

                  Die beiden Vorschläge von Komatruppe und Thoresus haben leider auch nichts dran geändert.

                  PHP-Code:
                  <?php
                  include('config/config.php');
                  $id mysql_real_escape_string($_GET['id']);

                  $abfrage1 "SELECT b_id,text FROM beitrag
                               WHERE b_id ="
                  .$id."";
                  $ergebnis1 mysql_query($abfrage1);
                  if(!
                  $ergebnis1){
                    die(
                  '<strong>Fehler: </strong>'.mysql_error());
                  }

                  while(
                  $row mysql_fetch_object($ergebnis1)){
                  ?>
                  <div class="content_bg">
                  <?php
                  $row
                  ->text;    
                  }
                  ?>
                  </div>

                  Kommentar


                  • #10
                    PHP-Code:
                    <?php
                    include('config/config.php');
                    $id mysql_real_escape_string($_GET['id']);

                    $abfrage1 "SELECT b_id,text FROM beitrag
                                 WHERE b_id ="
                    .$id;
                    $ergebnis1 mysql_query($abfrage1) or die('<strong>Fehler: </strong>'.mysql_error());

                    while(
                    $row mysql_fetch_object($ergebnis1)){
                    ?>
                    <div class="content_bg">
                    <?php
                    echo $row->text;    
                    ?>
                    </div>
                    <?php
                    }
                    ?>
                    das versucht?
                    apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/witalimik

                    Kommentar


                    • #11
                      Die Verwendung von mysql_real_escape_string ist in dieser Kombination ziemlich sinnfrei. Das hat Nikosch schon gesagt.

                      Wenn weder eine Fehlermeldung noch ein Ergebnis kommt, hast du vermutlich auch keine passenden Daten in der Tabelle.

                      @BlackScorp: Was sollte dein Vorschlag denn verändern?
                      www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
                      Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih

                      Kommentar


                      • #12
                        da war doch ledglich kein echo, wie soll man daten ohne echo anzeigen?

                        Zitat von mepeisen Beitrag anzeigen
                        @BlackScorp: Was sollte dein Vorschlag denn verändern?
                        dass man die daten aus der DB auch ausgibt
                        apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/witalimik

                        Kommentar


                        • #13
                          Zitat von BlackScorp Beitrag anzeigen
                          da war doch ledglich kein echo, wie soll man daten ohne echo anzeigen?
                          ooops. Hmmm. Ich... Ich... Also.... Ich bin dann mal weg.

                          Vielleicht ist es der Freitag, vielleicht die Tatsache, dass ich an so einen Fehler nicht mal ansatzweise gedacht hätte. Bischen peinlich, sowas nicht zu sehen
                          www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
                          Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih

                          Kommentar


                          • #14
                            auch kleinfieh macht mist man schon freitag? habe ich total vergessen
                            apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/witalimik

                            Kommentar


                            • #15
                              Zitat von mepeisen Beitrag anzeigen
                              ooops. Hmmm. Ich... Ich... Also.... Ich bin dann mal weg.

                              Vielleicht ist es der Freitag, vielleicht die Tatsache, dass ich an so einen Fehler nicht mal ansatzweise gedacht hätte. Bischen peinlich, sowas nicht zu sehen
                              Was soll ich denn sagen? Ich hab diesen mist immerhin gebaut . Erst das mit dem include und dann das mit dem echo, ich sollt den Fernsehr vielleicht doch ausstellen ^^'.

                              Aso, es geht jetz übrigens , besten Dank.

                              Kommentar

                              Lädt...
                              X