1

到目前为止,我已经写了一个月的面向对象风格,现在我想知道哪种方法是使用 sql 查询的正确方法。因此,例如,我在类中有函数 getPlayerData。那么哪种方式更好 - 1)在课堂外执行一个mysql过程并将获取的数组提供给getPlayerData 2)在课堂上执行所有过程

如果你建议第二种情况,那么我应该用全局 $variable 启动每个函数,它启动了 mysqli 实例吗?

抱歉,如果我没有使用正确的术语,您可以随时纠正我。谢谢!

4

1 回答 1

1

您可以执行以下操作,而不是给每个类函数一个全局变量:

class Test{

    protected $mysqli = null;

    function __construct($mysqli = null){
        $this->mysqli = $mysqli;
    }

    public function setMySqli($mysqli){
        $this->mysqli = $mysqli;
    }

    public function getSomething(){
        $result = $this->mysqli->query("SELECT something FROM table");
        //do something with result here
        return $result;
    }

}

允许您像这样使用您的对象:

$test = new Test($mysqli);
$result = $test->getSomething();

或者

$test = new Test();
$test->setMySqli($mysqli);
$result = $test->getSomething();
于 2012-10-25T08:13:42.147 回答