我正在使用 PDO 从数据库中提取一些数据,并且数据返回一个额外的数组,我无法理解它来自哪里。我可以选择用于call_user_func_array“退出”一个数组,我尝试过,但它减慢了我的工作速度。我只是更喜欢我的代码按照我的预期工作,而不是开始弄乱它并使它“脏”。除此之外,我找不到解决方案。这是我select用来提取数据的方法:public function select($whattoselect, $fromwhere, $condition){ $stmt = $this->pdo->prepare("SELECT {$whattoselect} FROM {$fromwhere} {$condition}"); $stmt->execute(); $this->row = $stmt->fetchAll(PDO::FETCH_ASSOC); return $this;}这就是我打印结果的方式(仅用于故障排除):echo '<pre>';print_r($check->row());echo '</pre>';这是我得到的输出:array( 0 = array( key1 => value1, key2 => value2 ))这就是我想要得到的输出:array( key1 => value1, key2 => value2)
1 回答
猛跑小猪
TA贡献1858条经验 获得超8个赞
fetchAll
将返回一个二维数组。
第一个维度是每一行。
第二个维度是该行中的每个字段(键/值对)。
$resultset[0]['fieldname']
将在结果集的第一行中返回 fieldname 的值。
您希望fetchAll
返回单行,而事实正是fetch
如此。
所以为了简单起见:
如果您的结果集总是只返回一行,请使用
fetch
.如果您的结果集可能返回多行(或零行),请使用
fetchAll
and then for each 来遍历每一行。
- 1 回答
- 0 关注
- 269 浏览
添加回答
举报
0/150
提交
取消