最初の%sをちょうど244に置き換えると、問題なく合計が得られます。しかし、この場合の$ shotの動的値を使用すると、何も取得されないように見え、他の結果が正常な場合(例:stories.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
文字列を2回エスケープしていますか? – Passerby
'$ shot'とは何ですか?あなたがそれを 'var_dump'すると何と言いますか? –