I mentioned that there is probably a better way because I don't trust my judgement when I have been drinking whiskey, but if you are not generating errors then you just might be on the right track.
If it is returning a blank page, it is time to start debugging. Since the page is blank, you must be returning rows to drop into the loop but unable to display them for some reason. One thing you can try is to echo the SQL statement back, which is one reason people often make the sql statement a variable:
$sql="Select ....from....where...";
mysql_query($sql);
Then you can later echo it back while debugging to copy and paste, then run it directly on the database to see what it returns
On possible problem may be in referencing the fields by name, MySql might be set up to reference it by position.
Try changing:
while($r=mysql_fetch_array($result))
to:
while($r=mysql_fetch_array($result, MYSQL_ASSOC))
or referencing the value by its position in the array:
$whatevercolumn=$r[0];
or whatever position it occupies.
Also, if you only want that one field, there is no need to do a 'select *', you only need to ask for the field you want:
$sql="SELECT content FROM frozenpea WHERE content LIKE '%$search%'";