webForumDet fria alternativet

Finn 2 fel

PHP

5 svar · 155 visningar · startad av Gimbo

Medlem sedan dec. 20001 626 inlägg
Frågan#1

Hmmm jag ser inte vart felet ligger men det ska ligga i början av koden, webläsaren returnerar: supplied argument not valid MySQL result resource.

<?
		while($f=mysql_fetch_array($result))
		{
		$namn = $f["namn"];
		$epost = $f["epost"];
		$amne = $f["amne"];
		$text = $f["text"];
		$id = $f["id"];
		$ref_id = $f["ref_id"];
		$datum = $f["datum"];
		$raknasvar = mysql_num_rows(mysql_query("SELECT * FROM forum WHERE ref_id = $id"));
		mysql_query("$raknasvar");
		$dat = date("Y-m-d H:i", $datum);
		echo "<tr>\n";
		echo "   <td bgcolor=\"$tdbgfarg\"><a href=\"svar.php?id=$id\">$amne</a></td>\n";
		echo "   <td bgcolor=\"$tdbgfarg\">$namn</td><td bgcolor=\"$tdbgfarg\">$dat</td>\n";
		echo "   <td bgcolor=\"$tdbgfarg\" width=\"30\" align=\"middle\">$raknasvar</td>\n";
		echo "</tr>\n";
		}
	}
mysql_close();
?>

sen har jag ett till problem i denna kod.

$dubbel = mysql_query("SELECT 1 FROM forum WHERE amne='$amne' AND text='$text' AND namn='$namn'");
if(mysql_fetch_array($dubbel))
{
fel("Ditt inlägg är redan infört. Var god dubbelposta ej!");
}
$query = "INSERT INTO forum (namn, epost, amne, text, ref_id, ip, datum) VALUES ('$namn', '$epost', '$amne', '$text', '$ref_id', '$REMOTE_ADDR', '$tiden')";
mysql_query("$query");
mysql_close();

Jag hittar inte feleeeeeen...

Medlem sedan jan. 20001 006 inlägg
#2

Stämmer inte..

$raknasvar = mysql_num_rows(mysql_query("SELECT * FROM forum WHERE ref_id = $id"));
mysql_query("$raknasvar");

Studera exemplet i manualen:

$result = mysql_query("SELECT * FROM table1", $link); 
$num_rows = mysql_num_rows($result);

F.ö. bör du börja använda mysql_error(), det underlättar.

/j

------------------
R6

Medlem sedan dec. 20001 626 inlägg
#3

men det e fortfarande knas. här e adressen till sidan som det e problem med. och här e koden, jag testade som du sa men det funkade inte så jag gjorde som jag gjorde förr...

<?
// Webforum 
// ett forum med stil
// [url="http://www.suryoye6.f2s.com"]http://www.suryoye6.f2s.com[/url] 

##################################################
# Script

require ("./variablar.php");
include ("./header.php");
?>
	<p class="RubrikFont"><font color="<?=$rubrikfarg?>"><?=$rubrik?></font>
	<p align="center"><? include ("./online.php"); ?>
	<p>&nbsp
<?
mysql_connect ("db.suryoye6.f2s.com","suryoye6","hemligt");
mysql_select_db ("$databas");
$query = "SELECT * FROM forum WHERE ref_id = 0 ORDER BY datum DESC LIMIT $antal";
$result = mysql_query($query);
	if (mysql_affected_rows() == 0)
	{
	echo "<table align=\"center\" border=\"0\">\n";
	echo "<tr>\n";
	echo "   <td><p><b>Det finns inga inlägg i forumet ännu.</b></td>\n";
	}
	else
	{
?>
<table width="<?=$tbwidth?>" align="center" border="0" cellspacing="0" cellpadding="2">
  <tr>
   <td bgcolor="<?=$tdtopbgfarg?>" width="40%"><font color="<?=$tdtopftfarg?>"><b>Rubrik</b></font></td>
   <td bgcolor="<?=$tdtopbgfarg?>" width="30%"><font color="<?=$tdtopftfarg?>"><b>Skrivet av</b></font></td>
   <td bgcolor="<?=$tdtopbgfarg?>" width="25%"><font color="<?=$tdtopftfarg?>"><b>Datum</b></font></td>
   <td bgcolor="<?=$tdtopbgfarg?>" width="5%" align="center"><font color="<?=$tdtopftfarg?>"><b>Svar</b></font></td>
</tr>
<?
		while($f=mysql_fetch_array($result))
		{
		$namn = $f["namn"];
		$epost = $f["epost"];
		$amne = $f["amne"];
		$text = $f["text"];
		$id = $f["id"];
		$ref_id = $f["ref_id"];
		$datum = $f["datum"];
		$raknasvar = mysql_num_rows(mysql_query("SELECT * FROM forum WHERE ref_id = $id"));
		mysql_query("$raknasvar");
		$dat = date("Y-m-d H:i", $datum);
		echo "<tr>\n";
		echo "   <td bgcolor=\"$tdbgfarg\"><a href=\"svar.php?id=$id\">$amne</a></td>\n";
		echo "   <td bgcolor=\"$tdbgfarg\">$namn</td><td bgcolor=\"$tdbgfarg\">$dat</td>\n";
		echo "   <td bgcolor=\"$tdbgfarg\" width=\"30\" align=\"middle\">$raknasvar</td>\n";
		echo "</tr>\n";
		}
	}
mysql_close();
?>
</tr>
</table>

<p>&nbsp;

<p><b>Skriv ett inlägg:</b>

	<form action="skicka.php" method="post">
	<input type="hidden" name="id" value="main">
	<input type="hidden" name="ref_id" value="0">

        Namn:<br>
        <input type="text" size="25" maxlength="20" name="namn">
        <br>
        E-post:<br>
        <input type="text" size="25" name="epost" maxlength="50">
        <br>
        Ämne:<br> 
        <input type="text" name="amne" size="35" maxlength="25">
        <br>
        Meddelande:<br>
        <textarea name="text" cols="80" rows="10"></textarea><br>
        <input type="Submit" value="Skicka" style="font-weight: bold"></form>

<p>Använd gärna <a href="javascript:smilies()">Smilies-kod</a> och <a href="javascript:forumkod()">Forumkod</a>.

<?
include ("./footer.php");
?>
Medlem sedan juni 2001181 inlägg
#4

Håller med Batboy:

$raknasvar = mysql_num_rows(mysql_query("SELECT * FROM forum WHERE ref_id = $id"));
                      mysql_query("$raknasvar");

är skumt. Nu kör du en mydql_query på en integer.
Jag skulle skrivit det:

$raknasvar_result = mysql_query("SELECT * FROM forum WHERE ref_id = $id");

$raknasvar = mysql_num_rows($raknasvar_result);

Ev även lägga till ' ' runt $id.

------------------
Gratis hemsideadress och email => http://www.has.it

Medlem sedan dec. 20001 626 inlägg
#5

det är inte där felet ligger felet ligger i början av php koden... det där med fetch... det e den raden dvs rad 37 som det e fel i o inte rad 46

Medlem sedan jan. 20001 006 inlägg
#6

Använd mysql_error() för att få fram ett exakt felmeddelande, posta sedan det (om du inte löser det själv).

while($f=mysql_fetch_array($result)
or die(mysql_error()))

/j

------------------
R6

260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)