Если я заменил первый% s всего на 244, я получу сумму без проблем. Но при использовании динамического значения в этом случае $ shot он, похоже, ничего не получает, и ни мой запрос не выполняется, как другие результаты в порядке (например, story.id, stories.title).пустой SUM() с динамическим значением
$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'];
+1 для экранирования ^^ – span
Так вы избегаете строки дважды? – Passerby
Что такое '$ shot'? Что он говорит, когда вы 'var_dump' это? –