PDO:删除查询结果的重复项

时间:2018-04-17 15:38:19

标签: php pdo

当我使用PDO执行语句时,它总是返回带有重复项的结果,即一个带有数字索引的版本,另一个带有列名。

例如:

<?php
$db = new PDO('mysql:dbname=test;host=localhost','root','');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

try {
    $stmt = $db->query('SELECT * FROM Person');
    $ret = $stmt->fetchAll();
    print_r($ret);
} catch (PDOException $e) {
    echo 'Error: '.$e->getMessage();
}
?>

我明白了:

Array (
    [0] => Array (
        [name] => Stanchi 
        [0] => Stanchi 
        [surname] => Jacopo 
        [1] => Jacopo)
    [1] => ...
)

但我只是想:

Array (
    [0] => Array (
        [name] => Stanchi 
        [surname] => Jacopo)
    [1] => ...
)

我该怎么办?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

你的fetchAll调用的第一个参数应该是PDO::FETCH_ASSOC

请参阅http://php.net/manual/en/pdostatement.fetch.php