Avatar billede homemicky Nybegynder
15. januar 2007 - 20:55 Der er 10 kommentarer

Warning mysql fetch object hvorfor skriver den det?

Jeg får følgende fejl:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /usr/home/web/web69355/index.php on line 48


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/home/web/web69355/index.php on line 101

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/home/web/web69355/index.php on line 107

Her er nogle linier fra index.php:
<?php

        $next = $mod + $picdisplay;
        $prev = $mod - $picdisplay;
        $toobig = mysql_num_rows(mysql_query("SELECT * FROM gallery")) - $picdisplay;

       
        if ($mod >= $picdisplay) {
        echo '<a href="'.$_SERVER['PHP_SELF'].'?start='.$prev.'" alt="Forrige">Forrige</a> '; }
       
        if ($mod < mysql_num_rows(mysql_query("SELECT * FROM gallery")) && $mod < $toobig && mysql_num_rows(mysql_query("SELECT * FROM gallery")) > $picdisplay) {
        echo '<a href="'.$_SERVER['PHP_SELF'].'?start='.$next.'" alt="Næste">Næste</a>'; }


?>
</div>

Jeg lige prøve tinygallery som min hjemmeside www.borchmann.it.
PS.: Det er eneste der ligger, det er bare for at teste.
Avatar billede intenz Novice
15. januar 2007 - 21:04 #1
Det er også en lidt mystisk kode.

Prøv at sætte dette øverst i scriptet:
$res = mysql_query("SELECT * FROM gallery") or die(mysql_error());

Og så ændre:
$toobig = mysql_num_rows(mysql_query("SELECT * FROM gallery")) - $picdisplay;

til:
$num = mysql_num_rows($res);
$toobig = $num-$picdisplay;

ændre:
if ($mod < mysql_num_rows(mysql_query("SELECT * FROM gallery")) && $mod < $toobig && mysql_num_rows(mysql_query("SELECT * FROM gallery")) > $picdisplay) {

til:
if ($mod < $num) && $mod < $toobig && $num > $picdisplay) {

mysql_fetch_object står ikke i den kode du har skrevet her, så der kan jeg ikke hjælpe dig.
Men lav det der skal laves ÉN gang, og ikke alt det der med at lægge koderne ind i hinanden, det er noget rod.
Avatar billede homemicky Nybegynder
15. januar 2007 - 21:10 #2
lige en side bemærkning je har et feltnavn timestamp den kan jeg ikke order by desc og skal jeg ændre timestamp i standardværdi lige nu står den til 0000-00-00 00:00:00
Avatar billede homemicky Nybegynder
15. januar 2007 - 21:13 #3
Det er det øverste fra index:
<?php
require('config.php');
/*
$query = mysql_query("SELECT * FROM gallery ORDER BY timestamp DESC");
er det lige reguire jeg skal putte
"$res = mysql_query("SELECT * FROM gallery") or die(mysql_error());"
ind.
Avatar billede homemicky Nybegynder
15. januar 2007 - 21:15 #4
hov er det lige under require skulle der stå
Avatar billede homemicky Nybegynder
15. januar 2007 - 21:19 #5
her noget fra linierne 48 hvor objektet står:
<?php

        $picdisplay = 21;


    if(!isset($_GET['start'])) {
        $mod = 0;
    }else{
        $mod = $_GET['start'];
    }

    $query = mysql_query("SELECT * FROM gallery ORDER BY timestamp DESC LIMIT $mod, $picdisplay");
    $i = 0;

    while($pics = mysql_fetch_object($query)) {
   
    echo '<td><a href="bubblegum.php?id='.$pics->timestamp.'">
        <img id="image" src="thumbnails/'.$pics->picname.'" /></a><br />
        <a href="bubblegum.php?id='.$pics->timestamp.'" target="_blank"><small>Åben i ny vindue</small></a><br /><br />
       
        ';
            if(!empty($pics->username))
                echo 'Nick: '.$pics->username.'<br />';
               
            if(!empty($pics->comment))
                echo 'Kommentar: '.$pics->comment.'<br />';
               
    echo '
        </td>
        ';
   
        if($i == 2) {
            echo '</tr><tr>';
            $i = 0;
        }else{
            $i++;
        }
    }
   
    switch ($i) {
        case 1:
            echo '<td></td><td></td>';
            break;
        case 2:
            echo '<td></td>';
            break;
    }

unset($pics);
unset($query);
unset($i);






?>
Avatar billede homemicky Nybegynder
15. januar 2007 - 21:46 #6
Denne kunne ikke lide din if sætning:

Parse error: syntax error, unexpected T_BOOLEAN_AND in /usr/home/web/web69355/index.php on line 108
Avatar billede intenz Novice
15. januar 2007 - 21:57 #7
Ændre:
if ($mod < $num) && $mod < $toobig && $num > $picdisplay) {

til:
if ($mod < $num && $mod < $toobig && $num > $picdisplay) {
Avatar billede homemicky Nybegynder
15. januar 2007 - 22:03 #8
så er der kun to fejl tilbage, sejt

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /usr/home/web/web69355/index.php on line 48


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/home/web/web69355/index.php on line 101

den er stadig ikke glad for $toobig = mysql_num_rows(mysql_query("SELECT * FROM gallery")) - $picdisplay;
Avatar billede homemicky Nybegynder
15. januar 2007 - 22:04 #9
i linie 101
Avatar billede homemicky Nybegynder
15. januar 2007 - 22:07 #10
eller rettere det er :

$next = $mod + $picdisplay;
        $prev = $mod - $picdisplay;
        $num = mysql_num_rows($res);
        $toobig = $num-$picdisplay;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester