For some reason this code isnt working and I dont know why:

```
$action = array('id', 'lurl', 'account');
$request = 3;
$stm = $pdo->prepare("SELECT ? FROM (SELECT * FROM urls ORDER BY id DESC LIMIT ?) sub ORDER BY id ASC");
$stm->bindValue(1, implode(',', $action));
$stm->bindValue(2, $request, PDO::PARAM_INT);
$stm->execute();
$data = $stm->fetchAll();

```

All it does is return the following array:

```
Array ( [0] => Array ( [id,lurl,account] => id,lurl,account ) [1] => Array ( [id,lurl,account] => id,lurl,account ) [2] => Array ( [id,lurl,account] => id,lurl,account ) )

```

But when I manually enter the data in a query like so:

```
SELECT id,lurl,account FROM (SELECT * FROM urls ORDER BY id DESC LIMIT 3);

```

It does what it is supposed to. Does anyone know why this is?