MySQLi获取PHP的可选结果<;5.3

MySQLi获取PHP的可选结果<;5.3,php,mysql,mysqli,Php,Mysql,Mysqli,我正在为一个大学项目创建一个PHP/MySQLi类,令人烦恼的是,他们使用的是PHP版本5.2.6。我需要我的类使用准备好的语句执行查询,并给出一个结果数组,所有这些都在PHP>5.3上运行,但在5.2.6上,我的get\u result导致了一个致命错误。还有其他选择吗 我已经查看了bind_result,尽管语句中可能有任意数量的字段,这意味着我无法使用此函数 public function select($query, $data = NULL) { $db = $this->

我正在为一个大学项目创建一个PHP/MySQLi类,令人烦恼的是,他们使用的是PHP版本5.2.6。我需要我的类使用准备好的语句执行查询,并给出一个结果数组,所有这些都在PHP>5.3上运行,但在5.2.6上,我的
get\u result
导致了一个致命错误。还有其他选择吗

我已经查看了
bind_result
,尽管语句中可能有任意数量的字段,这意味着我无法使用此函数

public function select($query, $data = NULL) {
    $db = $this->connect();
    $stmt = $db->prepare($query);
    if(!is_null($data)) {
        call_user_func_array(array($stmt, 'bind_param'), $this->query_params($data));
    }
    $stmt->execute();       
    $sqlResult = $stmt->get_result(); //fatal error on PHP < 5.3
    $results = array();
    while($row = $sqlResult->fetch_assoc()) {
        $results[] = $row;
    }
    return $results;
}
公共函数选择($query,$data=NULL){
$db=$this->connect();
$stmt=$db->prepare($query);
如果(!为null($data)){
调用_user_func_数组(数组($stmt,'bind_param'),$this->query_params($data));
}
$stmt->execute();
$sqlResult=$stmt->get_result();//PHP<5.3时出现致命错误
$results=array();
而($row=$sqlResult->fetch_assoc()){
$results[]=$row;
}
返回$results;
}
可能重复的:

根据该帖子: 请阅读此方法的用户说明:

它需要mysqlnd驱动程序。。。如果它没有安装在您的Web空间上,您将不得不使用BIND_RESULT&FETCH

您可以像这样使用bindvalues()


请原谅我上面的输入错误,它的意思是说我已经查看了
bind_result
,但不能使用它,因为我的语句中可以有任意数量的字段。请与他们分享:我相信5.2.6是在2008年5月发布的。
public function query($sql,$params = array()){
        $this->_error = false;
        if($this->_query = $this->_pdo->prepare($sql)){
            $x = 1;
            if(count($params)){
                foreach($params as $param){
                    $this->_query->bindValue($x, $param);
                    $x++;
                }
            }

            if($this->_query->execute()){
                $this->_results = $this->_query->fetchAll(PDO::FETCH_OBJ);
                $this->_count = $this->_query->rowCount();
            }else {
                $this->_error = $this->_query->errorInfo();
            }
        }
        return $this;
    }