Having a little hard time seeing what's what from your code, or why you're calling $id then... later looking it up again. If I read correctly, filename, the imagename is stored in field bin_data?
If so the following might work out. Just change the echo statement and style it up the way you'd like it.
<?php
mysql_connect("localhost","root","pass");
mysql_select_db("test");
echo "<table>";
$result = mysql_query("SELECT id, description, bin_data, filetype FROM binary_data");
$num = mysql_num_rows($result);
$i =0;
while ($i < $num){
//$variable_for_future_use=mysql_result($result,$the_row_we're_on,"field_name");
$id=mysql_result($result,$i,"id");
$description=mysql_result($result,$i,"description");
$bin_data=mysql_result($result,$i,"bin_data");
$filetype=mysql_result($result,$i,"filetype");
echo "<tr><td>$id</td><td>$description<td><img src=\"$bin_data.$filetype\"></td></tr>";
}
echo "</table>";
?>
Which error did you get when trying to num row it? Your sql statement is also.. hm. Check that you're actually calling the table columnnames that exist and that you're doing them in order.