Zur Navigation

MYSQL PROB!

1 Holmi (Gast)

Hallo Jörg,

danke erst mal für die tollen Tipps und Infos rund um Internetsicherheit!
Jetzt muss ich mal in sachen php fragen:
Ich bekomme immer diesen Fehler:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\...\gb.php on line 89

Kann mir jemand sagen, was ich hier ändern muss?


<?php
$user = "SOS";
$pass = "";
$db = "SOS";
$link = mysql_connect("localhost","$user","$pass");
if ( ! $link ) {
die ( "Verbindung zu MySQL nicht möglich: " .mysql_error()  );
}
@mysql_select_db( $db, $link )
or die( "Konnte $db nicht öffnen: ".mysql_error()  );


$sql = mysql_query('SELECT COUNT(*) AS count FROM gaestebuch'); // Tabelle zum zählen
$end = 5; // Wieviel Ausgaben pro Seite?
$url   = '<a href="./'.basename($_SERVER['PHP_SELF']).'?none=gb'; // Standardlink (z.B. ?action=home (also dann "none=0" durch "action=home" ersetzen)
// "none=0" stehen lassen oder ersetzen, aber nicht entfernen, da sonst fehler enstehen



$anz = mysql_result($sql, 0, 'count'); // Anzahl
mysql_free_result($sql);

$ges    = floor(ceil($anz)/$end);
$start  = !isset($_GET['start']) ? $start = 0 : $_GET['start']*$end;
$nStart = !isset($_GET['start']) ? $start = 0 : $_GET['start'];
$link   = '';

$ges += 1;
if($nStart>=($ges)) {
    die('Seite existiert nicht!');
}

$link .= ($nStart==0 ? '' : $url.'&amp;start='.($nStart-1).'">&laquo; Zur&uuml;ck</a> ');
if($ges>7) {
    $ret  = array();
    for($i=1;$i<=$ges;$i++) {
        $ret[] = (($i-1)!=$nStart ? $url.'&amp;start='.($i-1).'">['.$i.']</a> ' : $i.' ');
    }
    if($nStart<5 && $nStart>1) {
        for($j=0;$j<2+$nStart;$j++) {
            $link .= $ret[$j];
        }
    } else {
        for($j=0;$j<3;$j++) {
            $link .= $ret[$j];
        }
    }
    $link .= ($nStart<=($ges-5) ? ($nStart>=5 ? ' ... '.$ret[$nStart-1].$ret[$nStart].(isset($ret[$nStart+1]) ? $ret[$nStart+1] : '') : '') : '');
    $link .= ' ... '.($nStart==$ges-4 ? $ret[$ges-4] : '').$ret[$ges-3].$ret[$ges-2].$ret[$ges-1];
} else {
    for($i=1;$i<=$ges;$i++) {
        $link .= (($i-1)!=$nStart ? $url.'&amp;start='.($i-1).'">['.$i.']</a> ' : $i.' ');
    }
}
$link .= ($nStart==($ges-1) ? '' : ' '.$url.'&amp;start='.($nStart+1).'">Weiter &raquo;</a>');







$sss = "SELECT * FROM `gaestebuch` ORDER BY `id` DESC"; 


$ttt = mysql_query('[$sss] LIMIT '.$start.', '.$end); 



$count = 0; 
while($row = mysql_fetch_array($ttt)) {
$count++;

echo '<b>Eintrag Nr.'.$count.' von '.$row['name'].'</b><br />';
echo ''.$row['text'].' <br />';
}
echo $link; 
?>

gruß

holmi

18.09.2005 12:15

2 C)-(iLL@

Hi Holmi,
ich denke diese Zeile ist das Problem:
$ttt = mysql_query('[$sss] LIMIT '.$start.', '.$end);
versuch mal diese Version:
$ttt = mysql_query("$sss LIMIT ".$start.', '.$end) or die(mysql_error());

18.09.2005 13:11 | geändert: 18.09.2005 13:11

3 holmi (Gast)

Jetzt kommt dieser Fehler:


Warning: mysql_query(): Unable to save result set in C:\Programme\xampp\htdocs\marcel\cms\gb.php on line 85
Got error 127 from table handler

18.09.2005 13:22

4 C)-(iLL@

Unable to save result set ... error 127
Das klingt weniger gut. Geh mal in den PHPMyAdmin, wähle die Tabelle 'gaestebuch' aus und geh in das Menü 'Operationen'. Wähle dort "Repariere Tabelle" und versuch es anschließend nochmal.

18.09.2005 13:32 | geändert: 18.09.2005 13:33

5 holmi (Gast)

Jep!
Jetzt geht es! Vielen vielen Dank!

gruß
holmi

18.09.2005 15:19

Thema geschlossen, keine Antwort mehr möglich.