Pete wrote:
> 
> 
> In message <[EMAIL PROTECTED] 
> <mailto:6930a4490808202319i3e083eag42429100c0482a2d%40mail.gmail.com>>,
> Martinus Hadiwinata <[EMAIL PROTECTED] 
> <mailto:martinus.ardian%40gmail.com>> writes
>  >Hi Guys,
>  >
>  >I got this warning on several page:
>  >*Warning*: mysql_free_result(): 25 is not a valid MySQL result resource
>  >
>  >Does anyone know how to get rid this warning message that appears on a 
> page
>  >without using error_reporting() function?
>  >
>  >I have checked my syntax and they seem fine and correct. Moreover, the 
> page
>  >displays the items as it should be.
> 
> As it would do, since free result would come after displaying the data.
> 
> Suggestions
> 
> 1) Don't use it <G> it isn't usually necessary, unless you are
> returning huge datasets, as the memory is freed when the script ends, if
> you are not using persistent connections.
> 
> 2) You should be feeding it with the variable which you get from your
> query
> $result = mysql_query("SELECT * FROM everything");
> ...
> mysql_free_result($result)
> 
> and $result won't contain 25, which is what you get in your error
> message. It should be a resource, not a number.
> 
> -- 
> Pete Clark

<rant>
Come on Pete, "don't use it" is a terrible answer. True, you may not 
need the mysql_free_result in some cases but the only way to better 
learn PHP is to debug, not to throw out useful code because it causes an 
error.
</rant>

To answer the original question, there are a couple things off the top 
of my head that will cause this.

1. You have closed the mysql connection. "mysql_close();"
2. You have not given the mysql_free_result the correct query handle.

Your code should look something like this:

$db = mysql_connect('server','user','pass);
$q = mysql_query('select * from wherever',$db);
--  some code here to do something with your result ---
mysql_free_result($q);

bp

Reply via email to