Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Zuweisung eines Beitrages für einen Link

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

  • Coke121
    hat ein Thema erstellt [Erledigt] Zuweisung eines Beitrages für einen Link.

    [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

  • Coke121
    antwortet
    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.

    Einen Kommentar schreiben:


  • BlackScorp
    antwortet
    auch kleinfieh macht mist man schon freitag? habe ich total vergessen

    Einen Kommentar schreiben:


  • mepeisen
    antwortet
    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

    Einen Kommentar schreiben:


  • BlackScorp
    antwortet
    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

    Einen Kommentar schreiben:


  • mepeisen
    antwortet
    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?

    Einen Kommentar schreiben:


  • BlackScorp
    antwortet
    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?

    Einen Kommentar schreiben:


  • Coke121
    antwortet
    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>

    Einen Kommentar schreiben:


  • kn0wledge
    antwortet
    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.

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • kn0wledge
    antwortet
    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

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    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..

    Einen Kommentar schreiben:


  • Komatruppe
    antwortet
    Versuch mal das:

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

    Einen Kommentar schreiben:


  • Thoresus
    antwortet
    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.""

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    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].

    Einen Kommentar schreiben:

Lädt...
X