PHP PDO组合单独的数组


PHP PDO combine separate array

我有以下函数,它返回多行数据,但它返回的是单独的数组:

   function getAllDataByID($uid)
   {
   try {  
            $conn = DB::db_connect();
            $sql = "Select id from tbl1 where uid =:uid";
            $query = $conn->prepare($sql);
            $query->execute(array(':uid'=>$uid));
            $query->setFetchMode(PDO::FETCH_ASSOC);
            return $query;
        }
        catch (Exception $e) {
            return $e->getMessage();
        }   
   }

输出:

array(1) {
  ["id"]=>
  string(2) "22"
}
array(1) {
  ["id"]=>
  string(2) "21"
}
array(1) {
  ["id"]=>
  string(2) "18"
}

而我希望它是一个嵌套数组。

听起来你想使用PDO::FETCH_COLUMN,它将返回元组

我正在使用我的自定义数据库类进行查询、插入、更新和删除,简而言之,它可以完美地使用我的数据库。您不必使用它,但值得查看第85行while ($row = $this->statement->fetch(PDO::FETCH_ASSOC)),在那里我将行附加到现有数组,该数组将用于以您需要的方式返回数据。