123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- --TEST--
- Bug #29311 (Cannot override mysqli constructor)
- --SKIPIF--
- <?php
- require_once('skipif.inc');
- require_once('skipifconnectfailure.inc');
- ?>
- --FILE--
- <?php
- require_once("connect.inc");
- /* class 1 calls parent constructor */
- class mysql1 extends mysqli {
- function __construct() {
- global $host, $user, $passwd, $db, $port, $socket;
- parent::__construct($host, $user, $passwd, $db, $port, $socket);
- }
- }
- /* class 2 has an own constructor */
- class mysql2 extends mysqli {
- function __construct() {
- global $host, $user, $passwd, $db, $port, $socket;
- $this->connect($host, $user, $passwd, $db, $port, $socket);
- }
- }
- /* class 3 has no constructor */
- class mysql3 extends mysqli {
- }
- $foo[0] = new mysql1();
- $foo[1] = new mysql2();
- $foo[2] = new mysql3($host, $user, $passwd, $db, $port, $socket);
- for ($i=0; $i < 3; $i++) {
- if (($result = $foo[$i]->query("SELECT DATABASE()"))) {
- $row = $result->fetch_row();
- if ($row[0] != $db)
- printf("%d: %s\n", $i, $row[0]);
- $result->close();
- }
- $foo[$i]->close();
- }
- print "done!";
- ?>
- --EXPECTF--
- done!
|