2017-03-08 135 views
1

我试图从MS-SQL查询中获取具有utf-8值的数组。PHP阵列重复:每个字符串键都有数字键

几乎一切工作正常,但结果数组是这样的:

Array (
[id] => 1; 
[0] => 1; // this is redundant 
[countryName] => england; 
[1] => england; // this is redundant 
) 

我不想重复的数字键。为什么他们甚至被创造?导致此结果的代码是:

# execute the query 
foreach ($pdoConnection->query($sqlStatement) as $row) { 
    // encode row in utf8 so json works and save row in array 
    $output[] = array_map('utf8_encode', $row); 
} 

感谢您的任何想法如何解决。

+0

尝试'var_dump'行,看看它里面有什么 – mehulmpt

回答

0

您需要取自associative。按照这个例子:

$stmt = $this->db->prepare('SELECT title, FMarticle_id FROM articles WHERE domain_name =:domain_name'); 
$stmt->bindValue(':domain_name', $domain); 
$stmt->execute(); 
$article_list = $stmt->fetchAll(PDO::FETCH_ASSOC); 

参考:PDOStatement::fetchAll

0

尝试更换这条线,

foreach ($pdoConnection->query($sqlStatement, PDO::FETCH_ASSOC) as $row) 

该标志是获得关联的记录。

相关问题