Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit der Variablen übergabe...

Einklappen

Neue Werbung 2019

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

  • Gast-Avatar
    Ein Gast erstellte das Thema Problem mit der Variablen übergabe....

    Problem mit der Variablen übergabe...

    Hi,

    ich habe ein problem mit GET.
    Ich übergebe in meinem Forum die ID eines Threads, wenn ich den Thread öffnen.
    Mit dieser ID sollen die Daten aus der DB geholt werden die im Thread stehen.
    Ich habe es jetzt geprüft in dem ich mir die $_GET Variable ausgeben haben lasse.
    Sie wird also richtig übergeben.
    Aber trotzdem werden nicht die Daten aus der Db geholt und ich weiß einfach nicht warum:

    PHP-Code:
                $sql="SELECT post, autor, autor_id, thread_id, date, forum_id FROM posts WHERE thread_id ='".$_GET["thread_id"]."'";
                
    $result mysql_query($sql) or die(mysql_error().'
    Query: '
    .$sql);
                while(
    $post mysql_fetch_array($result))
                {
                  
    $post $post['post'];
                  
    $autor $post['autor'];
                  
    $autor_id $post['autor_id'];
                  
    $thread_id $post['thread_id'];
                  
    $date $post['date'];
                  
    $forum_id $post['forum_id'];
                }

                 
    $sql="SELECT avatar, rang, posts, gender, admin FROM user WHERE id ='".$autor_id."'";
                
    $result mysql_query($sql) or die(mysql_error().'
    Query: '
    .$sql);
                while(
    $autor mysql_fetch_array($result))
                {
                  
    $avatar $autor['avatar'];
                  
    $rang $autor['rang'];
                  
    $posts_anzahl $autor['posts'];
                  
    $gender $autor['gender'];
                  
    $admin $autor['admin'];
                } 
    Vielleicht könnt ihr mir ja hlefen?
    Danke[/code]

  • Gast-Avatar
    Ein Gast antwortete
    Zitat von xabbuh
    Zitat von malte
    Nur ein EIntrag in der Db fängt mir H an:
    Zeichenketten müssen in Abfragen in Hochkommata oder Anführungszeichen eingeschlossen werden, weil sie sonst als Spaltennamen interpretiert werden.
    Willst du ihn jetzt komplett irreführen? Dieses "H" sollte eine Zahl sein. Der Fehler liegt nicht im SQL-Statement, sondern die $author_id enthält einen falschen Wert.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    das müsste gehen:
    PHP-Code:
    <?php
    <?php 
    var $avatar$admin$rang$gender;
                
    $sql="SELECT post, autor, autor_id, date, forum_id FROM posts WHERE thread_id =".$_GET['thread_id']; 
                
    $result mysql_query($sql) or die(mysql_error().'
    Query: '
    .$sql); 
                while(
    $Gpost mysql_fetch_array($result)) 
                { 
                  
    $post $Gpost['post']; 
                  
    $autor $Gpost['autor']; 
                  
    $autor_id $Gpost['autor_id']; 
                  
    $thread_id $Gpost['thread_id']; 
                  
    $date $Gpost['date']; 
                  
    $forum_id $Gpost['forum_id']; 
                   
               
                               
    $sql="SELECT avatar, rang, posts, gender, admin FROM user WHERE id =".$autor_id.""
                
    $result mysql_query($sql) or die(mysql_error().'
    [b]Query:[/b] '
    .$sql); 
                while(
    $autor mysql_fetch_array($result)) 
                { 
                  
    $avatar $autor['avatar']; 
                  
    $rang $autor['rang']; 
                  
    $posts_anzahl $autor['posts']; 
                  
    $gender $autor['gender']; 
                  
    $admin $autor['admin']; 
                } 
                } 


    ?>
    ?>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von malte
    Bekomem immer noch folgende mEldungen:

    Notice: Undefined variable: avatar in D:\Webdesign\xampp\htdocs\forum\posts.php on line 111

    Notice: Undefined variable: admin in D:\Webdesign\xampp\htdocs\forum\posts.php on line 111

    Notice: Undefined variable: avatar in D:\Webdesign\xampp\htdocs\forum\posts.php on line 113

    Notice: Undefined variable: rang in D:\Webdesign\xampp\htdocs\forum\posts.php on line 119

    Notice: Undefined variable: gender in D:\Webdesign\xampp\htdocs\forum\posts.php on line 120

    Notice: Undefined variable: gender in D:\Webdesign\xampp\htdocs\forum\posts.php on line 122
    Um deine fehler meldungen mal zu erklären:

    Die Variablen $avatar, $admin, $rang und $gender wurden nicht dekladiert, um es genauer zu sagen, es wurde nichts in der database gefunden und deshalb auch nicht zurück gegeben.

    Dafür könnte es 2 gründe geben:
    1. Die Datenbank ist leer an der stelle
    2. Es ist ein fehler in der SQL abfrage

    Lösung bei 1.
    Die variablen deklarieren, dies muss vor der while schleife.
    deklaration geht so:
    PHP-Code:
    var $avatar$admin$rang$gender
    Lösung bei 2.
    Noch mal richtig die SQL abfrage , in phpMyAdmin testen ob deine abfrage überhaupt functioniert.
    PHP-Code:
    var $avatar$admin$rang$gender

    Einen Kommentar schreiben:


  • xabbuh
    antwortet
    Zitat von malte
    Nur ein EIntrag in der Db fängt mir H an:
    Zeichenketten müssen in Abfragen in Hochkommata oder Anführungszeichen eingeschlossen werden, weil sie sonst als Spaltennamen interpretiert werden.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Code:
    $post = $post['post'];
    Das würd ich mir mal genau anschauen

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ja ich weiß jetzt wo der Fehler ist hier:

    $autor_id

    Denn Wenn ich das mache:

    print_r($autor_id)

    Dann gibt er mir ein

    H

    aus.

    Nur ein EIntrag in der Db fängt mir H an:

    $post

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    zeig uns nochmal die Codezeile. Denn $_GET['thread_id'] ist richtig.

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Das ist mir jetzt zu kindisch.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Array ( [thread_id] => 1 )

    PHP-Code:
    <?php
                $sql
    ="SELECT post, autor, autor_id, date, forum_id FROM posts WHERE thread_id =".$_GET['thread_id'];
                
    $result mysql_query($sql) or die(mysql_error().'
    Query: '
    .$sql);
                while(
    $post mysql_fetch_array($result))
                {
                  
    $post $post['post'];
                  
    $autor $post['autor'];
                  
    $autor_id $post['autor_id'];
                  
    $thread_id $post['thread_id'];
                  
    $date $post['date'];
                  
    $forum_id $post['forum_id'];
                  
                 [
    bprint_r($_GET);[/b]
                  
                               
    $sql="SELECT avatar, rang, posts, gender, admin FROM user WHERE id =".$autor_id."";
                
    $result mysql_query($sql) or die(mysql_error().'
    [b]Query:[/b] '
    .$sql);
                while(
    $autor mysql_fetch_array($result))
                {
                  
    $avatar $autor['avatar'];
                  
    $rang $autor['rang'];
                  
    $posts_anzahl $autor['posts'];
                  
    $gender $autor['gender'];
                  
    $admin $autor['admin'];
                }
                }


    ?>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    AHA! Genau das wollte ich.

    Und nun mach ein print_r($_GET) vor dem Query und poste es hier.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Also ich habe nochmal alles überarbeitet.

    PHP-Code:
    <?php
                $sql
    ="SELECT post, autor, autor_id, date, forum_id FROM posts WHERE thread_id =".$_GET['thread_id'];
                
    $result mysql_query($sql) or die(mysql_error().'
    Query: '
    .$sql);
                while(
    $post mysql_fetch_array($result))
                {
                  
    $post $post['post'];
                  
    $autor $post['autor'];
                  
    $autor_id $post['autor_id'];
                  
    $thread_id $post['thread_id'];
                  
    $date $post['date'];
                  
    $forum_id $post['forum_id'];
                  
                               
    $sql="SELECT avatar, rang, posts, gender, admin FROM user WHERE id =".$autor_id."";
                
    $result mysql_query($sql) or die(mysql_error().'
    [b]Query:[/b] '
    .$sql);
                while(
    $autor mysql_fetch_array($result))
                {
                  
    $avatar $autor['avatar'];
                  
    $rang $autor['rang'];
                  
    $posts_anzahl $autor['posts'];
                  
    $gender $autor['gender'];
                  
    $admin $autor['admin'];
                }
                }

    ?>
    Das ist jetzt meine Fehlermeldun:

    Unknown column 'H' in 'where clause'
    Query: SELECT avatar, rang, posts, gender, admin FROM user WHERE id =H

    Aber es ist kein H sondern eine 1 in der DB, was ist falsch?

    Einen Kommentar schreiben:


  • dsmcg
    antwortet
    na ja die Variable ist halt ned definiert worden viel mer kann ich dazu ned sagen

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Ach und wir wissen was in Zeile 119 steht? Na klar wir sind Allwissend, ich denk mal kurz drüber nach wer Kennedy ermordet hat...

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von Zergling
    Du hast zwar Recht, was vom Typ Zahl ist sollte nicht in Anführungszeichen gestellt werden, aber ein Fehler ist es nicht.
    Heute stellt sich hier anscheinend jeder blöd. Die Anführungsstriche verhindern festzustellen, ob sich überhaupt ein Wert in $_GET befindet.

    Code:
    SELECT * FROM tabelle WHERE id = '' // in Mysql kein Fehler
    Code:
    SELECT * FROM tabelle WHERE id = // Fehler

    Einen Kommentar schreiben:

Lädt...
X