Avatar billede mr.badass Nybegynder
16. februar 2004 - 19:35 Der er 10 kommentarer og
1 løsning

Fejl i min tagwall

Jeg har et problem, jeg har lavet en tagwall til min PHPclanwebsite, men den kommer med en fejl der hedder:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/web/web4647/includes/sql_layer.php on line 36

Når jeg trykker ind på min tagwall, hele højre side forsvinder!
Håber der er en der kan hjælpe mig

Info:
http://www.weirdweapon.com/?mid=115

sql_layer.php:
<?php

$toplist = mysql_query("select date, subject from {$GLOBALS['prefix']}_articles order by date DESC LIMIT 0,6");

function sql_logout($id="")
{
global $dbtype;
if ($dbtype=="MySQL") {
        $dbi=@mysql_close($id);
        return $dbi;
    }
}

function sql_query($query, $id="")
{
global $dbtype;
if ($dbtype=="MySQL") {
        $res=@mysql_query($query);
        return $res;
    } 
}     

function sql_num_rows($res="")
{
global $dbtype;
if ($dbtype=="MySQL") {
    $rows=mysql_num_rows($res);
    return $rows;
    }
}

function sql_fetch_row($res, $nr="")   
{                                   
global $dbtype;                     
if ($dbtype=="MySQL") {
        $row = mysql_fetch_row($res);
        return $row;
    }
}

function sql_fetch_array($res, $nr="") 
{
global $dbtype;                     
if ($dbtype=="MySQL") {
        $row = array();             
        $row = mysql_fetch_array($res);
        return $row;               
    }                               
}

function sql_fetch_object($res, $nr="")
{                                   
global $dbtype;                     
if ($dbtype=="MySQL") {               
        $row = mysql_fetch_object($res);
    if($row) return $row;
    else return false;
    }                               
}

function sql_free_result($res) {
global $dbtype;
if ($dbtype=="MySQL") {
        $row = mysql_free_result($res);
        return $row;
    }
}

function translate($phrase) {
return $phrase;
}
?>

Tagwall.php:
<?php
include("config.php");
?>
<script language="JavaScript">

function openWindow(URL,name,features) {

  window.open(URL,name,features);

}

</script>

<head>
<link rel="stylesheet" href="../tagwall/css.css" type="text/css"/>
<script type="text/javascript" src="../tagwall/js.js"></script>
</head>
<p align="center">
<br>
&nbsp;

<?php
$visfra = $_GET['visfra'];

if (!$_GET['visfra']) {
    $visfra = 0;
}

$query = mysql_query ("SELECT * FROM tagwall ORDER BY id DESC limit $visfra, $prside");
while ($row = mysql_fetch_array($query)) {
    echo "<table class='tblmain'>";
    echo "<tr><td class='cellmain'><span class='rightspan'>$row[dato]</span><span class='leftspan'>";
    echo "<b>$row[navn]</b> ";
    if ($row['mail']) {
        echo "- <a href='mailto: $row[mail]'>@</a> ";
    }
    if ($row['site']) {
        echo "- <a href='$row[site]' target='_blank'>$row[site]</a>";
    }
    if (isset($_SESSION['aid'])) {
        echo "<a href='$_SERVER[PHP_SELF]?slet=$row[id]'>Slet</a>";
    }
    echo "</span></td></tr>";
    echo "<tr><td class='cellmsg'>".nl2br(stripslashes($row['besked']))."</td></tr>";
    echo "</table><br>";
}
echo "";

$antal = mysql_num_rows(mysql_query("SELECT id FROM tagwall"));

limit($visfra,$antal,$prside);
mysql_close();

if ($error == 1) {
    echo $errormsgone;
}
if ($error == 2) {
    echo $errormsgtwo;
}
?>
<div align="center">
<b>
<form method="post" action="<?php echo $_SERVER[PHP_SELF]; ?>" onsubmit="return check();">
<input type="text" name="navn" value="Navn" onFocus="if(this.value=='Navn'){this.value=''};" onBlur="if(this.value==''){this.value='Navn'};" value="<?php echo $_POST['navn']; ?>" size="20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="mail" value="Mail" onFocus="if(this.value=='Mail'){this.value=''};" onBlur="if(this.value==''){this.value='Mail'};" value="<?php echo $_POST['mail']; ?>" size="20"><br>
<a href http://www.weirdweapon.com/news/smilies.htm onClick="openWindow('http://www.weirdweapon.com/news/smilies.htm','vindueNavn','toolbar=no, location=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=yes, width=250, height=350')" border="0" style="cursor:pointer; cursor:hand; text-decoration: none">Smilies</a><br>
<textarea rows="6" cols="47" name="besked" input type="text" name="besked" onFocus="if(this.value=='Besked'){this.value=''};" onBlur="if(this.value==''){this.value='Besked'};">Besked</textarea><br>
<br>
<input type="submit" name="skriv" value="Shout!" style="width: 60px;">
</form>
</b>
</div>
</body>
</html>
<?php
mysql_close($con);
?>
Avatar billede Slettet bruger
16. februar 2004 - 22:54 #1
Det er ikke den kode, du har vist her, der laver fejlen, for det eneste af sql_layer.php, der bliver kørt, er:

$toplist = mysql_query("select date, subject from {$GLOBALS['prefix']}_articles order by date DESC LIMIT 0,6");

Resten ligger i funktioner, som den kode, du har vist, ikke kalder. (Hvorfor lave wrappers, når du alligevel ikke bruger dem?)
Avatar billede mr.badass Nybegynder
17. februar 2004 - 11:59 #2
Hvad mener du?
SKal jeg bare heholde denne linie og slet resten?
Avatar billede Slettet bruger
17. februar 2004 - 16:59 #3
Nej, for det bliver tilsyneladende brugt af kode andre steder (Ellers ville du ikke få den fejl). Det bliver bare ikke brugt af den kode, du har vist.

Vis den kode, der bruger sql_layer.php
Avatar billede mr.badass Nybegynder
18. februar 2004 - 14:30 #4
linie: fra sql_layer.php
33 {                                   
34 global $dbtype;                     
35 if ($dbtype=="MySQL") {
36        $row = mysql_fetch_row($res);
37        return $row;
38    }
Avatar billede mr.badass Nybegynder
18. februar 2004 - 14:31 #5
Fra Tagwall.php

$query = mysql_query ("SELECT * FROM tagwall ORDER BY id DESC limit $visfra, $prside");
while ($row = mysql_fetch_array($query)) {
Avatar billede mr.badass Nybegynder
18. februar 2004 - 14:32 #6
Håber det kan bruges :P Ellers fang mig på BadAss@WeirdWeapon.Com (MSN)
Avatar billede Slettet bruger
18. februar 2004 - 16:21 #7
Du fik denne fejl:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/web/web4647/includes/sql_layer.php on line 36

Det betyder, at linie 36 er blevet kørt. Hvis du ser i linie 32, kan du se, at linie 36 er en del af en funktion:
function sql_fetch_row($res, $nr="")

Kode inde i funktioner bliver kun kørt, hvis et eller andet kalder funktionen.

I din tagwall.php kalder du ikke nogensomhelst funktion fra sql_layer.php. Du inkluderer ikke engang sql_layer.php, så det er i noget helt andet kode, at sql_layer.php bliver brugt.

Jeg tror ikke, du selv har lavet sql_layer.php-filen. Du har nok fået den sammen med en eller flere andre filer. Fejlen må ske i en af disse andre filer. Den skyldes sandsynligvis, at der er en fejl i noget SQL-kode et sted, men hvor kan jeg ikke sige, bortset fra, at det i hvertfald ikke er i tagwall.php.

Jeg har ikke MSN.
Avatar billede mr.badass Nybegynder
18. februar 2004 - 17:37 #8
Har har 2 andre filer der er tilknyttet til sql_layer.php
Poster dem i morgen, så kan du se om der er noget der, som fejler noget :D
Avatar billede mr.badass Nybegynder
25. februar 2004 - 16:04 #9
Fandt ik en løsning
Avatar billede mr.badass Nybegynder
25. februar 2004 - 16:05 #10
Fandt ik en løsning!!!
Avatar billede Slettet bruger
25. februar 2004 - 16:18 #11
Naturligvis fandt du ikke en løsning. Du postede jo aldrig filen. Det kan ikke lade sig gøre en hjælpe en, der ikke giver de oplysninger, man skal bruge for at kunne hjælpe.
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