You have an error in your SQL syntax

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

  • You have an error in your SQL syntax

    habe ein problem beim tutorial: Wie schreibt man ein Forum mit PHP und Mysql von Martin Mayer

    beim aufruf der showthread.php durch die showforen.php site kommt immer die meldung:

    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

    hab schon zahlreiche hilfe-pages nach dem thema durchsucht aber nicht wirklich was hilfreiches, was mich witer bringt gefunden.

    die tabellen und codes sollten eigentlich soweit in ordnung sein und stimmen mit denen vom tutorial hauptsächlich überein.
    wäre um einen rat sehr dankbar.


    danke schonmals im voraus.

  • #2
    was steht in der query drin?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      für die abfrage:

      PHP-Code:
      $res =  mysql_query("select * from threads where fid=".$_GET["fid"]) or die(mysql_error()); 
      und nachher für den auszusuchenden thread:

      PHP-Code:
      while($row =  mysql_fetch_array($res)) { 
      echo 
      "<a href=\"showanswers.php?fid=".$row["fid"]."&tid=".$row["id"]."\">"
      echo 
      $row["topic"]."</a><br>"

      Kommentar


      • #4
        PHP-Code:
        echo $sql="select * from threads where fid=".$_GET["fid"];
        $res =  mysql_query($sql) or die(mysql_error()); 
        ausgabe?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          was meinst du damit? den code so umändern?
          die tid des threads muss ja nachher wieder weitergeleitet werden nach showanswers.php

          Kommentar


          • #6
            das mysql_query, das du gepostet hast, sollst du mal so abändern und dann posten, was der browser dir ausspuckt
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              der gibt die gleiche meldung aus:

              select * from threads where fid=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

              Kommentar


              • #8
                Original geschrieben von yard
                select * from threads where fid=
                das is die abfrage, fällt dir da was auf?

                hinter dem = fehlt doch was oder?

                wie rufst du die seite denn auf?
                was für ne php-version hast du?
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  das mit der abfrage ist mir auch schon aufgefallen er sollte ja die fid der threads haben, also alle die da sind einfach anzeigen.

                  zuerst werden die foren angezeigt:

                  PHP-Code:
                  <?

                  $host = "localhost";
                  $user = "****";
                  $pass = "****";
                  $database = "forum";

                   $con = mysql_connect($host, $user, $pass) or
                          die("Keine Verbindung möglich");
                   $db =  mysql_select_db("$database");

                      $res = mysql_query("SELECT name FROM foren") or die(mysql_error());
                      

                  //Ausgeben der Foren mit Hyperlink 
                  while($row =  mysql_fetch_array($res)) { 
                      echo "<a href=\"showthreads.php?fid=".$row["id"]."\">"; 
                      echo $row["name"]."</a><br>"; 


                  ?>

                  nacher wird man zur showthreads umgeleitet. aber das funkt. ja nicht.

                  habe php 4.3.4

                  habe noch keinen beitrag in der tabelle threads...der fehler kann nicht da sein oder?

                  Kommentar


                  • #10
                    ...weiss niemand einen rat?...wäre sehr dankbar...komme nicht weiter.

                    Kommentar


                    • #11
                      schau dir nochmal an was oben steht ....

                      das query bekommt scheinbar keine fid uebergeben, nach der es suchen soll ....
                      waere schonmal ein ansatz

                      gruss
                      iglo

                      Kommentar


                      • #12
                        PHP-Code:
                        ... ery("SELECT name FROM for ...
                        ...
                        .php?fid="
                        .$row["id"].
                        Die Zeit hat ihre Kinder längst gefressen

                        Kommentar


                        • #13
                          Original geschrieben von yard
                          für die abfrage:

                          PHP-Code:
                          $res =  mysql_query("select * from threads where fid=".$_GET["fid"]) or die(mysql_error()); 
                          Muss das nicht

                          PHP-Code:
                          $res =  mysql_query("select * from threads where fid='".$_GET['fid']."'") or die(mysql_error()); 
                          heißen?

                          Kommentar


                          • #14
                            Nein muß es nicht ... wenn es sich um eine numerische ID handelt.

                            allerdings würde ich mal "derHund"'s Hinweis folgen ... im übrigen könnte es durchaus sinnvoll sein mysql_escape_string() zu verwenden, da $_GET - Parameter relativ leicht manipuliert werden können ... und die Magic Quotes nicht auf jedem Server aktiviert sind/sein müssen ... !
                            carpe noctem

                            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                            Kommentar

                            Lädt...
                            X