最初の %s を 244 だけに置き換えると、問題なく合計が得られます。しかし、この場合 $shot で動的な値を使用すると、何も取得されないように見え、他の結果 (例: stories.id、story.title) が正常であるため、クエリも失敗しません。
$query = sprintf("
SELECT
stories.id,
stories.title,
stories.timestamp,
stories.text,
users.name,
users.avatar,
users.id AS idus,
(SELECT sum(reviews.amount) FROM reviews WHERE reviews.storyid='%s') AS reviews
FROM stories INNER JOIN users ON stories.uid=users.id WHERE stories.id = '%s'",
mysql_real_escape_string($shot),
mysql_real_escape_string($shot));
ショットはここから来ています:
$shot = $_GET['shot'];