0

mysql クエリ テーブルを Excel ファイルにエクスポートしようとしています。私のサイトの別のページで動作していますが、この特定のクエリで問題が発生しているようです。次のエラーが表示されます。

Warning: PDO::query() [pdo.query]: SQLSTATE[42S22]: Column not found: 1054 
Unknown column 'u2.confirmed_cash' in 'field list' in 
/home2/jtdsdevc/public_html  /rbk/usage-v3/inc/excel-exporter
/MySqlExcelBuilder.class.php on line 130

これは私のコードです。

// Setup the SQL Statements
$sql_statement = getReport($idLeague, $idTeam);

function getReport($idLeague, $idTeam){
global $connect;

$sql = "
    SELECT idPlayer AS id,
    (SELECT CONCAT_WS(' ', location, name) FROM `team` WHERE `team`.id = u.idTeam) AS team,
    (SELECT CONCAT_WS(' ', first_name, last_name) FROM `player` WHERE `player`.id = u.idPlayer) AS name, 
    (SELECT u2.confirmed_cash FROM `usage` u2 WHERE u.idPlayer = u2.idPlayer ORDER BY date DESC LIMIT 1) AS total_cash, 
    (SELECT u2.confirmed_product FROM `usage` u2 WHERE u.idPlayer = u2.idPlayer ORDER BY date DESC LIMIT 1) AS total_product, 
    max(date) AS last_entry 
    FROM `usage` u INNER JOIN `team` t ON u.idTeam =t.id INNER JOIN `league` l ON t.idLeague =l.id WHERE (t.idleague =".$idLeague." or l.pID =".$idLeague." ) 
    ";

return $sql;
}

// Add the SQL statements to the spread sheet
$mysql_xls->add_page('Report',$sql_statement);

// Get the spreadsheet after the SQL statements are built...
$phpExcel = $mysql_xls->getExcel(); // This needs to come after all the pages have been added.
....

そこでエラーが発生します。MySqlExcelBuilder.class.php ファイルの正確な行は次のとおりです。

if ($sh = $this->pdo->query($sql))

上記の$sql変数は

SELECT idPlayer AS id, 
(SELECT CONCAT_WS(' ', location, name) FROM `team` WHERE `team`.id = u.idTeam) AS team, 
(SELECT CONCAT_WS(' ', first_name, last_name) FROM `player` WHERE `player`.id = u.idPlayer) AS name, 
(SELECT u2.confirmed_cash FROM `usage` u2 WHERE u.idPlayer = u2.idPlayer ORDER BY date DESC LIMIT 1) AS total_cash, 
(SELECT u3.confirmed_product FROM `usage` u3 WHERE u.idPlayer = u3.idPlayer ORDER BY date DESC LIMIT 1) AS total_product, 
max(date) AS last_entry 
FROM `usage` u 
INNER JOIN `team` t ON u.idTeam =t.id 
INNER JOIN `league` l ON t.idLeague =l.id 
WHERE (t.idleague =1 or l.pID =1 )

編集:クエリ自体が phpMyAdmin で正常に機能することも注目に値します。

4

1 に答える 1

0

問題が解決しました!私は間違ったデータベースを呼び出していました。新人ミスです。

于 2012-07-31T20:56:50.290 に答える