DbServer::doSQL PHP Method

doSQL() public method

public doSQL ( $link, $result )
    public function doSQL($link, $result)
    {
        $data_select = array('status' => 'ok', 'error' => 0, 'errormsg' => '', 'result' => '');
        $db_sock = $link->sock;
        $db_res = $this->busy_pool[$db_sock];
        $mysqli = $db_res['mysqli'];
        $fd = $db_res['fd'];
        if ($result) {
            if (is_array($result)) {
                $data_select['result'] = $result;
                $this->http->send($fd, json_encode($data_select));
            } else {
                $data_select['result'] = $link->affected_rows;
                $this->http->send($fd, json_encode($data_select));
            }
        } else {
            $data_select['error'] = 1;
            $data_select['status'] = 'error';
            $data_select['result'] = array();
            $this->http->send($fd, json_encode($data_select));
        }
        array_unshift($this->idle_pool, $db_res);
        unset($this->busy_pool[$db_sock]);
        //$data_select=array('status' =>'ok','error'=>0,'errormsg'=>'','result'=>'');
        //这里可以取出一个等待请求
        if (count($this->wait_queue) > 0) {
            $idle_n = count($this->idle_pool);
            for ($i = 0; $i < $idle_n; $i++) {
                $req = array_shift($this->wait_queue);
                $this->doQuery($req['fd'], $req['sql']);
            }
        }
        /*if ($result = $mysqli->reap_async_query()) {
                     if (is_object($result)){
                                $data_result=$result->fetch_all(MYSQLI_ASSOC);
                                mysqli_free_result($result);
                            } else {
                                $data_result=$result;
                            }
        
                    $data_select['result']=$data_result;
                    $this->http->send($fd,json_encode($data_select));
                } else {
                    $data_select['error']=1;
                    $data_select['status']='error';
                   // $data_select['errormsg']=sprintf("MySQLi Error: %s\n", mysqli_error($mysqli));
                    $data_select['result']=array();
                    $this->http->send($fd,json_encode($data_select));
                }*/
        //release mysqli object
        //$this->idle_pool[] = $db_res;
    }