У меня есть запрос SQL (к базе данных MSSQL), который выглядит следующим образом:
$sql_timekort = "SELECT
status,
timematrise.ansatt,
SUM(normaltimer) AS normaltimer,
SUM(overtid_1) AS overtid_1,
SUM(overtid_2) AS overtid_2,
SUM(kilometer) AS kilometer,
COUNT(diett) AS diett,
COUNT(CASE WHEN diett = 'ja' THEN 1 ELSE NULL END) AS diett
FROM timematrise
WHERE status = '6'
AND dato LIKE '2019-02%'
GROUP BY ansatt, status";
Который запускается sqlsrv в PHP следующим образом:
$stmt = sqlsrv_query($timeregistrering_tilkobling, $sql_timekort); if( $stmt === false) { die( print_r( sqlsrv_errors(), true) ); }
Результат этого запроса в SQL Management Studio выглядит следующим образом:
![enter image description here](https://i.stack.imgur.com/xUVAc.jpg)
Этот результат, как и ожидалось, и SQL-запрос работает нормально. Но когда я делаю sqlsrv_fetch_array, как это:
<code>while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
echo "<pre>";
print_r($row);
echo "
";
}
Это результат:
Array
(
[status] => 6
[ansatt] => 270
[normaltimer] => .00
[overtid_1] => .00
[overtid_2] => .00
[kilometer] => 0
[diett] => 0
)
И вот тут я запутался. Где цифры ? Каждый номер либо .00 или 0.
Таблица определяется следующим образом:
status: int
ansatt: int
normaltimer: decimal(18, 2)
overtid_1: decimal(18, 2)
overtid_2: decimal(18, 2)
kilometer: decimal(18, 0)
diett: varchar(50)
Любая помощь приветствуется!