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.
PHP Code:
<?php
error_reporting(E_ALL);
$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
mysql_query($sql);
?>
Also ensure your input contains no single quotes, as this will cause it not to work if they are not automatically being escaped (\\')