参数预期警告

时间:2015-03-28 19:40:53

标签: php

运行我的代码时出现以下警告:

call_user_func()期望参数1是有效的回调,找不到函数'db_connect'或函数名无效

代码:

 require_once("mo_object.php");

 class MO_Model extends MO_Object
 {
    private $con; 

    static function db_query($qry)
    {
       $this->db_connect;

       return $qry;
    }

    function db_connect()
    {
       $con =  mysqli_connect($rconf['host'],$mo_conf['usr'],$mo_conf['password'],$mo_conf['da   tabase']);
    } 
}

为什么我无法正确运行db_connect函数?

感谢。

3 个答案:

答案 0 :(得分:1)

如果这是一个类并且这些函数都在同一个类中,请尝试:

static function db_query($qry)
{
   $this->db_connect();
   return $qry;
}

public function db_connect()
{
   $con = mysqli_connect($rconf['host'],$mo_conf['usr'],$mo_conf['password'],$mo_conf['database']);
} 

答案 1 :(得分:0)

为什么使用call_user_func?直接调用该函数并在db_connect函数中返回您的连接。构建数据库类时,应在创建对象时打开连接,并在整个过程中使用该连接。

否则你有很多无用的数据库连接。如果你使用像Doctrine DBALDoctrine 2 ORM或任何其他抽象层这样的持久层来获取你的数据,也许会更好。

还有很多层可用于数据库,你可以谷歌搜索它们。

答案 2 :(得分:0)

问题已解决。我成了静态的db_connect函数。

感谢。