Как правильно форматировать результаты PDO? - числовые результаты возвращаются в виде строки?

С относительной новизной для AJAX, и теперь я только начинаю изучать PDO, добавленный уровень ReSTler меня полностью ошеломил. Моделируя приведенный ниже код из образцов Restler, я не знаю, как изменить формат вывода с того, что PDO возвращает , на то, что ожидают Restler и Highcharts.

Как изменить этот код, чтобы перейти от текущего формата к требуемому? (Результаты обычно составляют 5-10 тысяч записей, если это влияет на обработку результата MySQL.)

Фрагмент кода ReSTler API:

$sql = "SELECT ....."
$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
    $stmt = $this->db->query($sql);
    return $stmt->fetchAll();
} catch (PDOException $e) {
    throw new RestException(502, 'Listing History: ' . $e->getMessage());
}

Текущий формат вывода(включает нежелательные] имена столбцов):

[
  {
    "chart_date": "1118966400000",
    "bandwidth": "10.01",
    "views": "101"
  },
  {
    "chart_date": "1119225600000",
    "bandwidth": "20.02",
    "views": "101"
  },

Желаемый формат вывода(числовой и без имен столбцов):

[
  [
    1118966400000,
    10.01,
    101
  ],
  [
    1119225600000,
    20.02,
    202
  ],

Редактировать, используя предложенныйfetch(PDO::FETCH_NUM):

Согласно ответу @Ricardo Lohmann, я попробовал fetch(PDO::FETCH_NUM), который ДЕЙСТВИТЕЛЬНО удалил имена столбцов, но все возвращаемые столбцы кажутся строковыми, а не числовыми, как на самом деле являются данные, поэтому попробуйте это , давая мне правильный тип данных - является ли эта часть PDO односторонним возвратом строки?

while ($row = $stmt->fetch(PDO::FETCH_NUM)) {
    $array[$x][0] = intval( $row[0] );
    $array[$x][1] = intval( $row[1] );
    $array[$x][2] = intval( $row[2] );
    $x++;
}
return $array;
6
задан GDP 21 June 2012 в 16:10
поделиться