两个键一个值pdo查询结果

Alk*_*ris 0 php mysql pdo key

我的代码就是这个

    $sql = "SELECT * FROM faculty";

    foreach ($pdo->query($sql) as $row) {
        foreach ($row as $key => $value) {
            echo $key."-".$value."<br/>";
        }
    }
Run Code Online (Sandbox Code Playgroud)

我正在做的事情相当简单.我的问题是为什么我得到两次相同的值,一个是密钥,mysql中的行名称(例如"surname"),另一个是数组的位置.感谢您的时间.

Vol*_*erK 5

那是因为您的默认提取模式设置为

PDO :: FETCH_BOTH(整数)指定fetch方法应将每一行作为一个数组返回,该数组由相应结果集中返回的列名和数字索引,从第0列开始.
试试例如

$pdo->query($sql, PDO::FETCH_ASSOC)
Run Code Online (Sandbox Code Playgroud)

代替.

另见:http://docs.php.net/pdo.constants