我是新手使用$ pdo语句所以可能是一些简单的东西,我还没有在php.net上阅读过.查询数据库时,我收到重复的结果.
结果:
[0] => Array
(
[umeta_id] => 31
[0] => 31
[user_id] => 2
[1] => 2
[meta_key] => fbmeta
[2] => fbmeta
[meta_value] => someMetaValueStuff;
[3] => someMetaValueStuff;
)
Run Code Online (Sandbox Code Playgroud)
查询非常简单:
function getData(){
global $pdo;
$query = $pdo->prepare('SELECT * FROM usermeta WHERE meta_key = "fbmeta" LIMIT 0,30');
$query->execute();
return $query->fetchAll();
}
print_r( getData() );
Run Code Online (Sandbox Code Playgroud)
问题是,在命名的键(umeta_id,user_id,meta_key,meta_value)确实存在,数字键没有.为什么查询返回这些?我如何防止它们被退回?
Emm*_*eke 24
这不是重复,只是FETCH_MODE你正在使用的当前.要获得关联键,您只需要指定; 默认情况下,它同时取两者.
使用如下:
$query->fetchAll(PDO::FETCH_NUM); // to fetch with numeric indexes
$query->fetchAll(PDO::FETCH_ASSOC); // to fetch with associative indexes
Run Code Online (Sandbox Code Playgroud)
Yog*_*har 10
这不是重复数据fetchAll返回数值数组和关联数组中的数据.
查看文档
使用它来仅检索关联数组
return $query->fetchAll(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)