Not hard considering there is no error trapping / debugging in your code at all.
Are you expecting more than one result? If so, you will need to do the echo'ing within the while loop. If your not, then you don't even need a while loop.
$sql = "SELECT name, `desc` FROM items WHERE id = '$grab_item'";
if ($result = mysql_query($sql)) {
if (mysql_num_rows($result)) {
while ($row = mysql_fetch_assoc($result)) {
$name = $row['name'];
$desc = $row['desc'];
echo $name . "<br>" . $desc . "<br>" . $grab_item;
}
} else {
echo "No results found";
}
} else {
trigger_error(mysql_error() . "<br />$sql");
}