如果我只用 244 替换第一个 %s,我得到的总和没有任何问题。但是在这种情况下使用动态值 $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'];