PHP:从SQL查询中读取数据到数组中

I'm newbie in PHP. I wrote the below-given code to create the array "data". It should have 10 rows, BUT for some reason only last (10th) row is filled. The SQL query is fine for sure, because I checked it in MySQL Query Manager (the query returns 10 rows).

$query1="SELECT * FROM tab1, tab2 WHERE tab1.column1=tab2.column2;";
    $result1=DatabaseConnector::ExecuteQueryArray($query1);
    $data = array();
    $i = 0;
    foreach ($result1 as $row):
        $data = array(
            array($i,array("xxx",' EE112',$row['column3'],'FT445'),"2004-03-01 10:00","2004-03-01 14:00"));
        $i++;
    endforeach;

Update 1: I have another related to my initial question. When I try reading data from the array, the error "Undefined offset: 1" occurs. The funny thing is that when I filled "data" array using $data = and not $data[] =, there was no error, just the last row was filled.

for($i=0; $i<count($data); ++$i) {
        $bar = new GanttBar($data[$i][0],$data[$i][1],$data[$i][2],$data[$i][3]);
        $graph->Add($bar);
    }

That's because you're overriding the entire $data variable on each iteration. Use

$data[] = array(...

As for the newest error - You should be using foreach to iterate an array. That's what it was made for.

Should like this to append to an array.

$data[] = array($i,array("xxx",' EE112',$row['column3'],'FT445'),"2004-03-01 10:00","2004-03-01 14:00");
$data = array(...); // Typecasts $data to a new array with given keys and values
$data[] = array(...); // Typecasts a new array to the next array pointer in $data

Above, line 1 would create a brand new array stored in $data overwriting all previous data. On line 2 the new array would be stored within the already existent array $data.