kostenloser Webspace werbefrei: lima-city


MySQL Syntaxfehler

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    s****l


    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 '$start`, `$limit`' at line 1

    Diese Fehlermeldung bekomme ich immer, wenn ich mein Script im Browser aufrufe!
    Es sieht so aus und soll bewirken, dass die Einträge aus dem Gästebuch auf mehrere Seiten verteilt werden:
    <?php
        include "../mysql_connect.php";
        $sql ='SELECT `name` FROM `guestbook`';
    	$result = mysql_query($sql);
        $num = mysql_num_rows($result);
        $limit = 10;
    	$sites = ceil($num/$limit);
    	if(!$_GET['site']) $_GET['site'] = 1;
    	$count = 1;
    	while($count <= $sites)
    	{
    	    if($count != $_GET['site'])
    	    {
    	        echo "<a href='".$_SERVER['PHP_SELF']."?site=".$count."'>".$count."</A>";
    	    }
    	    else
    	    {
    	        echo "<b>$count</b>";
    	    }
    	    $count++;
        }
        $start = $limit*($_GET['site']-1);
        $sql = 'SELECT name,eintrag FROM `guestbook` LIMIT `$start`, `$limit`';
        $result = mysql_query($sql) OR die(mysql_error());
        if(mysql_num_rows($result))
        {
    	    while($row = mysql_fetch_assoc($result))
    		{
    		    echo $row['name'] . "schrieb:<br>" . $row['eintrag'] . "<p>";
    		}
        }
    	else
        {
    	    echo "<span class=\"normal2\">Noch keine Einträge im G&auml;stebuch!<br></span>";
        }
    ?>

    Natürlich werden die Anführungsstriche falsch dargestellt, also wie immer auf Zitieren drücken um die Richtigen zu bekommen.
    Wäre sehr nett wenn mir einer helfen könnte bzw. mir sagen könnte, wo der Syntaxfehler ist.

    Beitrag geändert: 8.6.2007 16:50:18 von scrawl
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. nimm mal bei deinem Sql-String die ` bei $start und $limit weg ;-) Start und Limit müssen Zahlen sein, dürfen also nicht in Anführungszeichen eingeschlossen werden.

    Grüßle
  4. Autor dieses Themas

    s****l

    Danke, jetzt funktioniert's!
  5. Autor dieses Themas

    s****l

    Jetzt hab ich ihm gesagt, er soll es nach der ID ordnen, aber ich bekomme wieder die selbe Fehlermeldung :confused:
    <?php
        include "../mysql_connect.php";
        $sql ='SELECT `name` FROM `guestbook`';
    	$result = mysql_query($sql);
        $num = mysql_num_rows($result);
        $limit = 10;
    	$sites = ceil($num/$limit);
    	if(!$_GET['site']) $_GET['site'] = 1;
    	$count = 1;
    	while($count <= $sites)
    	{
    	    if($count != $_GET['site'])
    	    {
    	        echo "<a href='".$_SERVER['PHP_SELF']."?site=".$count."'>".$count."</A>";
    	    }
    	    else
    	    {
    	        echo "<b>$count</b>";
    	    }
    	    $count++;
        }
        $start = $limit*($_GET['site']-1);
        $sql = 'SELECT name,eintrag FROM `guestbook` LIMIT $start, $limit ORDER BY id DESC';
        $result = mysql_query($sql) OR die(mysql_error());
        if(mysql_num_rows($result))
        {
    	    while($row = mysql_fetch_assoc($result))
    		{
    		    echo $row['name'] . "schrieb:<br>" . $row['eintrag'] . "<p>";
    		}
        }
    	else
        {
    	    echo "<span class=\"normal2\">Noch keine Einträge im G&auml;stebuch!<br></span>";
        }
    ?>

    Wo ist da der Syntaxfehler?
  6. b****y

    Versuch es mal so:
    <?php
    
    $sql = 'SELECT name,eintrag FROM `guestbook` ORDER BY id DESC LIMIT $start, $limit';
    
    ?>


    Die Anweisung LIMIT muss soweit ich weiß immer am Ende stehen.

    MfG, Bohrty.

    Beitrag geändert: 9.6.2007 13:12:38 von bohrty
  7. Autor dieses Themas

    s****l

    Gut jetzt gehts :thumb:
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!