Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem beim Auslesen von MySQL: Fehler

Einklappen

Neue Werbung 2019

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

  • Problem beim Auslesen von MySQL: Fehler

    Hallo,
    ich habe ein ziemlich merkwürdiges Problem. Ich baue gerade an Ansätzen eines Forums. Die Daten aus der Datenbank auszulesen funktioniert soweit schonmal, das Konzept muss ich aber noch ein bisschen ändern. Jetzt habe ich aber folgendes Problem:

    Alle Daten aus der Datenbank werden richtig ausgelesen und richtig ausgegeben, jedoch schreibt der mir nen Fehler hin, obwohl an der Stelle alles Korrekt ist.

    Das Script ist hier zu finden: http://www.marbec.de/ldcms/anzeige/board/index.php

    Mein Code sieht wie folgt aus:

    Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
    <html>
    <!--
       HTML 3.2
       Document type as defined on http://www.w3.org/TR/REC-html32
    -->
    <head>
           <title>Link-DesignZ CMS - Board</title>
    <link rel="stylesheet" type="text/css" media="screen" href="style.css"/>
    </head>
    <body>
    <?php
    include('config.php');
    ?>
    <table cellspacing="1" cellpadding="0" class="board">
    
    
    
    <tr class="headboard">
    <td width="60%">
    <div style="margin-left:15px;">Forum</div>
    </td>
    <td width="10%" align="center">
    Threads
    </td>
    <td width="30%" align="center">
    Last Thread
    </td>
    </tr>
    
    
    <?php
    $verbindung = mysql_connect ($server, $benutzer, $passwort); 
    mysql_select_db($datenbank, $verbindung); 
    $sql = "SELECT * FROM cms_boards ORDER BY folge"; 
    $ergebnis = mysql_query($sql, $verbindung); 
    while($row = mysql_fetch_object($ergebnis))
    { 
    
    //$rank = $row->rank; 
    //$folge = $row->folge; 
    //$cateogory = $row->cateogory; 
     
    $query_anzahlthreads = mysql_query("SELECT * FROM cms_posts WHERE boardid=$row->id");  
    $anzahlthreads = mysql_num_rows($query_anzahlthreads);  
      
    $ergebnis3 = mysql_query("SELECT * FROM cms_posts WHERE boardid=$row->id");  
    $row3 = mysql_fetch_object($ergebnis3);  
      
    $ergebnis4 = mysql_query("SELECT * FROM cms_users WHERE id=$row3->user");
    $row4 = mysql_fetch_object($ergebnis4);
    
    if ($row->cateogory == 1) {
    	echo '<tr class="cateogory">
    			<td colspan="3">
    			<div style="margin-left:20px;">» '.$row->name.'</div>
    			</td>
    			</tr>';
    }else{
    	echo '<tr class="section">
    			<td width="60%">
    			<div style="margin-left:25px;">'.$row->name.'</div>
    			<div class="boardundertitle">'.$row->beschreibung.'</div>
    			</td>
    			<td width="10%" align="center">
    			'.$anzahlthreads.'
    			</td>
    			<td width="30%" align="center">'.$row3->headline.' by '.$row4->name.'
    			</td>
    			</tr>';
    							}
    }
    mysql_free_result($ergebnis);
    
    ?>
    ...

    Ich kann den Fehler um Himmels Willen nicht finden? Könnt ihr mir helfen?

    Gruß GSJLink
    "Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"


  • #2
    Warum müssen wir eigentlich raussuchen, welches Zeile 51 ist?:

    PHP-Code:
    <?php
    $ergebnis4 
    mysql_query("SELECT * FROM cms_users WHERE id=$row3->user");
    $row4 mysql_fetch_object($ergebnis4);
    ?>
    Das SQL-Statement "SELECT * FROM cms_users WHERE id=$row3->user" ist falsch. Was genau wird an mysql_query() übergeben?

    Mach mal:
    PHP-Code:
    <?php
    print $sql4 "SELECT * FROM cms_users WHERE id=$row3->user";
    mysql_query($sql4) or die(mysql_error());
    ?>

    Kommentar


    • #3
      SELECT * FROM cms_users WHERE id=You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
      Kommt dann.

      Gruß GSJLink
      "Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"

      Kommentar


      • #4
        Dann hast du ja schon die Lösung oder sieht das SQL-Statement für dich richtig aus? Für mich fehlt da was...

        Kommentar


        • #5
          wenn ich aber $row3->user ausgebe stimmt das. Ich hab auch keine Ahnung, was da fehlen soll.

          Gruß GSJLink
          "Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"

          Kommentar


          • #6
            Mach mal
            PHP-Code:
            <?php
            print $sql4 sprintf("SELECT * FROM cms_users WHERE id=%s"$row3->user);
            mysql_query($sql4) or die(mysql_error()); 
            ?>
            Gehts so?

            Kommentar


            • #7
              Selber Fehler.

              Gruß GSJLink
              "Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"

              Kommentar


              • #8
                Dann ist $row3->user leer oder nicht definiert. Auch wenn du oben das Gegenteil behauptest.

                Kommentar


                • #9
                  Der echobefehl sagt aber was anderes. Unter dem Link oben, habe ich $row3->user mal ausgeben lassen.

                  Gruß GSJLink
                  "Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"

                  Kommentar


                  • #10
                    Zitat von GSJLink
                    Der echobefehl sagt aber was anderes. Unter dem Link oben, habe ich $row3->user mal ausgeben lassen.
                    Und weiter? Was wurde ausgegeben? Warum muss ich dir alle Infos aus der Nase ziehen??
                    PHP-Code:
                    <?php
                    $name 
                    "klaus";
                    printf("name=%s"$name);
                    ?>
                    Die Ausgabe ist nunmal "name=klaus". Wenn die Ausgabe nur "name=" ist,
                    ist $name eben leer oder nicht definiert. Ich weiß nich was du für komische
                    Sachen programmierst, aber da du mir den Code nicht zeigen willst, aber
                    (defacto) behauptest PHP hätte einen Bug, kann ich dir nicht weiterhelfen.

                    Kommentar


                    • #11
                      Die Ausgabe erbrachte folgendes:

                      Inhalt von $row3->user:
                      Inhalt von $row3->user: 1
                      Inhalt von $row3->user: 2
                      Ich hatte aber erwähnt das man das unter http://www.marbec.de/ldcms/anzeige/board/index.php nachschauen kann.

                      Gruß GSJLink
                      "Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"

                      Kommentar


                      • #12
                        Keine Ahnung, kann dir mit den Infos die du lieferst nicht helfen.
                        Was ist eigentlich ein CMS Board?

                        Kommentar


                        • #13
                          Ein Modul von meinem CMS, dass ich gerade entwickle.

                          Gruß GSJLink
                          "Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"

                          Kommentar


                          • #14
                            Problem gelöst, der wollte in der while Schleife, Posts aus den Kateogorien auslesen, obwohl da verständlich keine drin sein können. Durch eine if Schleife hab ich das Problem dann gelöst.

                            Gruß GSJLink
                            "Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"

                            Kommentar


                            • #15
                              Es gibt keine if-Schleifen. Nur mal so nebenbei.
                              If you read this message backward, Satan will force you to smoke marijuana.
                              Gute Tutorials

                              Kommentar

                              Lädt...
                              X