LimeSurvey: Statistikdaten unvollständig nach Upgrade auf Version 2.xx
Ich habe LimeSurvey von Version 1.91 auf 2.05b4 aktualisiert. Danach wurden die Statistikdaten nicht mehr korrekt angezeigt – obwohl in der Datenbank alle Daten weiterhin vorhanden waren. Bei der Anzahl wurde immer Null ausgegeben.
Beim Debuggen habe ich entdeckt, dass die SQL Queries etwas seltsam aussahen:
[18:33:08.792][trace][system.db.CDbCommand] Querying SQL: SELECT count(*) FROM lime_survey_55836 WHERE `55836X2X122` = 'A1' AND NULL
… AND NULL?
Dieser Zusatz verursacht, dass der Datensatz nicht gefunden werden kann. Die korrekte Query sollte lauten:
SELECT count(*) FROM lime_survey_55836 WHERE `55836X2X122` = 'A1'
Bugfix:
Page:
application/helpers/admin/statistics_helper.php
Auf Zeile 3088 steht:
if (!isset($sql) || !$sql) {$sql="NULL";}
korrekt müsste es heissen:
if (!isset($sql) || !$sql) {$sql=NULL;}
und siehe da, jetzt wird es korrekt angezeigt!
puh…. 😛