在查询中获取重复的列

Ala*_*jeu 0 php mysql

$sql = "select * from import1";
$stmt = $pdo->prepare($sql);

$stmt->execute(array())
    or die("Error in Selecting: " . $sql);

$data = $stmt->fetchAll();

print_r($data); 
Run Code Online (Sandbox Code Playgroud)

结果有两列.为什么?我怎么阻止这个?我只想要命名列.下一步是将数组转储到JSON,然后另一方面的导入因为有额外的意外列而搞砸了.

Array
(
[0] => Array
    (
        [DATE] => 2018-02-28
        [0] => 2018-02-28
        [GRADE] => 6
        [1] => 6
        [FIRST] => Kyle
        [2] => Kyle
Run Code Online (Sandbox Code Playgroud)

Bar*_*mar 6

使用参数to指定响应的格式fetchAll.

$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)

您还可以在创建PDO对象时指定默认格式.

$pdo = new PDO("mysql:host=$db_host;dbname=$db_database", $db_username, $db_password, 
    array(PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC));
Run Code Online (Sandbox Code Playgroud)