MySQL和push查询数组在一起

MySQL和push查询数组在一起,mysql,sql,arrays,array-push,Mysql,Sql,Arrays,Array Push,我这里有这个密码 $sql_array = array(); if($result['user_id'] == 'OA'){ $sql = "select distinct id, FirstName, LastName from table_one ti left join table_two sp on (sp.user_id = ti.id) or (sp.user_id = ti.id)"; $query = $this-&

我这里有这个密码

$sql_array = array();
if($result['user_id'] == 'OA'){
                $sql = "select distinct id, FirstName, LastName from table_one ti left join table_two sp on (sp.user_id = ti.id) or (sp.user_id = ti.id)";
                $query = $this->db->query($sql);
                $results_array = $query->result_array();
                $sql_array = array_push($sql_array, $results_array);
            }
            elseif($result['user_id'] == 'SH'){
                $sql = "select distinct id, first_name, last_name from table_three teo left join table_two sp on sp.user_id = teo.id";
                $query = $this->db->query($sql);
                $results_array = $query->result_array();
                $sql_array = array_push($sql_array, $results_array);
            }elseif($result['user_id'] == 'OF'){
                $sql = "select distinct id, first_name, last_name from table_four os left join table_two sp on sp.user_id = os.id";
                $query = $this->db->query($sql);
                $results_array = $query->result_array();
                $sql_array = array_push($sql_array, $results_array);
            }elseif($result['user_id'] == 'US'){
                $sql = "select distinct ID, substring_index(display_name, ' ', 1) as 'FirstName', substring_index(display_name, ' ', -1) as 'LastName' from table_five tu left join table_two sp on sp.user_id = tu.id";
                $query = $this->db->query($sql);
                $results_array = $query->result_array();
                $sql_array = array_push($sql_array, $results_array);
            }
它将遍历所有$result['user\u id'],并根据$result['user\u id']是什么来查看要运行的查询字符串……通过上面的代码,我得到了一个错误
array\u push()期望参数1是数组,给定整数

我做错了什么,或者有更好的方法吗

谢谢,
为什么不使用[]语法呢

if($result['user_id'] == 'OA'){
            $sql = "select distinct id, FirstName, LastName from table_one ti left join table_two sp on (sp.user_id = ti.id) or (sp.user_id = ti.id)";
            $query = $this->db->query($sql);
            $results_array = $query->result_array();
            $sql_array[] = $results_array;
        }

关于错误原因,这是因为您影响了
array\u push
返回数组变量。问题是
array\u push
返回一个整数,因此在循环的第二圈,您将尝试传递一个整数作为
array\u push
的第一个参数,您正在用整数值覆盖数组

array\u push()
返回数组中新的元素数

在第一次遇到:
$sql\u array=array\u push($sql\u array,$results\u array)

$sql\u数组
将具有整数值

根据我收集的信息,您希望使用
array\u merge()