actually the code you just posted sweenster will not work, and his code is more likley to.
You need to put strings in single quotes, and there is nothing wrong with backquotes around fields as far as I know, I usually use them.
$title = $_POST['title'];
$body = $_POST['body'];
$date = $_POST['date'];
$id = $_POST['id'];
$con = mysql_connect("localhost","user","pwd");
$db = mysql_select_db("database",$con);
$sql = "UPDATE `table` SET `topic` = '".$title."', `body` = '".$body."', `date` = '".$date."' WHERE `ids` = '".$id."'";
echo $sql; // print your sql statement to make sure it looks ok
Also ensure your input contains no single quotes, as this will cause it not to work if they are not automatically being escaped (\\')