2016-07-24 10 views
0

Ich verwende PHP, um Informationen aus einer SQLite3-Datenbank herauszuziehen.PHP - Mit Sqlite3 und min() Funktion

Alle grundlegenden Abfragen funktionieren, bis ich versuche, etwas clever zu tun, indem Sie die min() - Aggregatfunktion verwenden.

Dies funktioniert in der interaktiven SQLite3:

select distinct car, colour, min(time) from car_table group by car; 

Aber wenn in PHP:

$db = new SQLite3('carDB.db'); 
$car_query= $db->query('select distinct car, colour, min(time) from car_table group by car'); 

while($row=$car_query->fetchArray()){ 
    echo "Car :" . $row["car"]; 
    echo "Colour :" . $row["colour"]; 
    echo "Time :" . $row["time"]; 
} 

Diese nicht time nicht ausdrucken, eine Prüfung, um zu sehen, ob der Schlüssel time im Array zurückkehrt existiert Negativ.

Wenn ich einfach time in der Abfrage anstelle von min(time) habe, druckt es gut aus.

Ich benutze count(*) in einem anderen PHP-Block, der gut funktioniert, die ausgeschlossen Aggregatfunktionen nicht unterstützt.

Antwort

2

Der Schlüssel in Ihrem Ergebnis-Array lautet min(time), da kein Alias ​​angegeben wurde.

Wenn Sie den Schlüssel sein wollen time müssen Sie die Spalte in Ihrer Abfrage alias wie folgt:

min(time) as time 
+0

Perfect, danke! – thebigpeeler