tune_valueに基づいて各行のランクを取得するサブクエリを含むクエリがあります。結果をフェッチしようとすると、PDOStatement :: fetchAll();から一般的なエラーが発生します。prepareステートメントの実行はエラーをスローしないようです。
私は次のクエリを持っています
SET @rank := 0;
SELECT * FROM
(
SELECT *,
(UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(tunes.creation_date)) as age,
@rank := @rank + 1 as rank
FROM tunes
ORDER BY tune_value DESC
) as t
LEFT JOIN artists ON artists.id = t.artists_id
ORDER BY age
次の簡略化されたphpコードを使用してステートメントを準備します。
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$stmt = $pdo->prepare($sql);
$stmt->execute();
$stmt->fetchAll(\PDO::FETCH_ASSOC);
このサブクエリをphpで実行することは不可能ですか?私はおそらくサブクエリのビューを作成することを考えていました。
編集:クエリを明確にするためにphpmyadminで正常に動作します