|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #29311 Cannot override mysqli constructor
Submitted: 2004-07-21 23:16 UTC Modified: 2004-07-23 14:49 UTC
From: mc at webheberg dot com Assigned:
Status: Closed Package: Class/Object related
PHP Version: 5.0.0 OS: Linux Debian
Private report: No CVE-ID: None
 [2004-07-21 23:16 UTC] mc at webheberg dot com
I wrote a small class (named Mysql) that extends mysqli, but when I make a new Mysql(), it returns :

Fatal error: Can not call constructor in .... which corresponds to line with parent::__construct

It seems that we can just override mysqli methods, but not the constructor. I copy paste my code below.

I found someone who recently reported this problem there : 

and didnt get any response, so I really think it's a bug.

(I'm using PHP5 stable with mysqli, without mysql, and with mysql 4.1.3-beta libraries)

Reproduce code:
class Mysql extends mysqli {

	static $db_host="*";
	static $db_user="*";
	static $db_pass="*";
	static $db_name="*";
	function __construct() {
		parent::__construct(Mysql::$db_host, Mysql::$db_user, Mysql::$db_pass, Mysql::$db_name);
	function query($query) {
	     return parent::query($query);



Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2004-07-21 23:22 UTC] mc at webheberg dot com
Note that it was working fine with my PHP5 RC2 and the man who reported tells it was also working fine with RC3
 [2004-07-22 00:47 UTC] mc at webheberg dot com
So I use the mysqli procedurial methods in my class (which doesnt extend mysqli anymore) with a global $link variable. Works fine, but is not very "PHP5 like".
 [2004-07-23 14:49 UTC]
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
Thank you for the report, and for helping us make PHP better.

PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Sat Apr 20 18:01:25 2019 UTC