Php 如何从类中的函数返回mysqli结果对象?

Php 如何从类中的函数返回mysqli结果对象?,php,mysql,oop,mysqli,crud,Php,Mysql,Oop,Mysqli,Crud,所以。。我通过编写带有CRUD操作的数据库对象来练习PHP。。但是,从数据库对象返回结果对象时遇到问题 这是位于db类内部的相关“select_where”函数,它使用一个参数指定表名: function select_where(array $values, $table, $what = "*") { $where_stmt = ''; if(count($values)>0) { $fie

所以。。我通过编写带有CRUD操作的数据库对象来练习PHP。。但是,从数据库对象返回结果对象时遇到问题

这是位于db类内部的相关“select_where”函数,它使用一个参数指定表名:

       function select_where(array $values, $table, $what = "*")
    {
        $where_stmt = '';

        if(count($values)>0)
        {
            $fields = array_keys($values);
            $vals   = array_values($values);

            if ($what != "*")
            {
                if(is_array($what)===TRUE)
                {
                    $what = implode($what, ',');
                }
                else //assume string! -- needs better error handling!
                {
                //Don;t do  anything for now
                }

            }

            $where_stmt = "WHERE ";

            for( $i=0 ; $i<count($fields) ; $i++)
            {
                $where_stmt .= "$field[$i] = '$vals[$i]' AND ";

            }

            $where_stmt .= "$field[$i] = '$vals[$i]'";


        }//else: array is an empty one, meaning SELECT ALL;


        $query = "SELECT $what FROM `$table` $where_stmt;";
        ;

        if($result = $this->mysqli_conn->query($query))
        {
            echo "RESULT:<br />";
            print_r($result);
            return $result;

        }else{
            return false;
        }

    }
打印\u r不打印任何内容

我100%确信这与我不了解PHP OOP的工作原理有关;当我在别处寻找答案时,任何建议或解决方案都将受到高度赞赏


看来我找到了答案:

新手失误

在我的代码中,我使用了helper函数 $result=$db->select_all('code')

实际上是这样的:

function select_all($table, $what="*" )
    {
        $empty_array = array();
        $this->select_where($empty_array, $table, $what);

    }
但正如大家所看到的,这个函数没有返回!所以现在:

function select_all($table, $what="*" )
    {
        $empty_array = array();
        return $this->select_where($empty_array, $table, $what);

    }
这就是解决办法


再次感谢您

尝试返回$result->fetchAll();如果
var\u dump($result),会发生什么?您应该希望看到一个mysqli结果object@AndreiAndrei我试过了,但还是没回来!您应该编辑您的问题以添加问题的完整代码function@Asenar .. 我已经包括了全部代码,但是已经找到了答案。。谢谢(由于我是新来的,8小时内无法回答这个问题,所以我对它进行了编辑)
function select_all($table, $what="*" )
    {
        $empty_array = array();
        return $this->select_where($empty_array, $table, $what);

    }