Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 扩展mysqli-重载执行()_Php_Mysqli - Fatal编程技术网

Php 扩展mysqli-重载执行()

Php 扩展mysqli-重载执行(),php,mysqli,Php,Mysqli,我对MySQLi类进行了如下扩展: class my_mysqli extends MySQLi { public $queries = 0; function __construct($host = '', $user = '', $pass = '', $db = '') { if (is_object($host) or $host == '') { parent::__construct(MYSQL_HOST, MYSQL_USER, MYSQL_PAS

我对MySQLi类进行了如下扩展:

class my_mysqli extends MySQLi
{
public $queries = 0;

function __construct($host = '', $user = '', $pass = '', $db = '')
{
    if (is_object($host) or $host == '')
    {
        parent::__construct(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DATABASE);

        if ($this->connect_error)
        {
            my_error('Cannot connect to MySQL server: ' . $this->connect_error);
        }
    }

    else
    {
        parent::__construct($host, $user, $pass, $db);
    }
}

public function prepare($query)
{
    $p = parent::prepare($query);

    $this->check_error();

    return $p;
}

public function execute()
{
    $this->queries++;

    parent::execute();
}

public function query($query)
{
    $p = parent::query ($query);

    $this->check_error();

    $this->queries++;

    return $p;
}

public function check_error()
{
    if ($this->error)
    {
        my_error($this->error, true);
    }
}

}

问题是,execute()没有发生任何事情。我必须做什么来重载此方法?现在,它被忽略了。根据php.net站点,execute方法不需要参数。有点不知所措。

执行
不是
mysqli\u stmt
的一种方法吗?既然你没有扩展,我怀疑你会看到那里发生什么。扩展内置PHP数据库类通常是一个非常糟糕的主意。我想我在这里看到了:这不是MySQLi的一部分吗?