.= should be =
you're not concatenating strings, you're adding new records, so the dot should not be used here.
And nope, there is no better way than this if you want to get all rows into a single array.
That brings the second question: Why do you want to have the results in an array?
You can just as well work with the rows directly from the fetch function...