. mysqlnd: Added named pipes support. FR #48082. (Andrey)
. MySQLi: Added iterator support in MySQLi. mysqli_result implements
Traversable. (Andrey, Johannes)
- . MySQLi: Implemented FR #39847 (mysqli_fetch_[field|fields|field_direct]
- need to return db). (Kalle)
. PDO_mysql: Removed support for linking with MySQL client libraries older
than 4.1. (Johannes)
strings. This breaks code that iterated the resulting stream array using a
numeric index, but makes easier to identify which of the passed streams are
present in the result.
-- mysqli_fetch_[field|fields|field_direct] now returns an additional property
- named 'db' that contains the database name of the associated result.
===================================
add_property_string(value, "orgtable",(field->org_table ? field->org_table : ""), 1);
add_property_string(value, "def",(field->def ? field->def : ""), 1);
add_property_string(value, "db",(field->db ? field->db : ""), 1);
+ add_property_string(value, "catalog",(field->catalog ? field->catalog : ""), 1);
add_property_long(value, "max_length", field->max_length);
add_property_long(value, "length", field->length);
=== fetch_fields ===
array(2) {
[0]=>
- object(stdClass)#5 (12) {
+ object(stdClass)#5 (13) {
[%u|b%"name"]=>
%unicode|string%(3) "foo"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
int(0)
}
[1]=>
- object(stdClass)#6 (12) {
+ object(stdClass)#6 (13) {
[%u|b%"name"]=>
%unicode|string%(3) "bar"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
}
=== fetch_field_direct ===
-object(stdClass)#6 (12) {
+object(stdClass)#6 (13) {
[%u|b%"name"]=>
%unicode|string%(3) "foo"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
[%u|b%"decimals"]=>
int(0)
}
-object(stdClass)#6 (12) {
+object(stdClass)#6 (13) {
[%u|b%"name"]=>
%unicode|string%(3) "bar"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
}
=== fetch_field ===
-object(stdClass)#6 (12) {
+object(stdClass)#6 (13) {
[%u|b%"name"]=>
%unicode|string%(3) "foo"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
[%u|b%"decimals"]=>
int(0)
}
-object(stdClass)#5 (12) {
+object(stdClass)#5 (13) {
[%u|b%"name"]=>
%unicode|string%(3) "bar"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
require_once("clean_table.inc");
?>
--EXPECTF--
-object(stdClass)#%d (12) {
+object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "ID"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(1)
[%u|b%"length"]=>
[%u|b%"decimals"]=>
int(0)
}
-object(stdClass)#%d (12) {
+object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(5) "label"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(%d)
[%u|b%"length"]=>
[%u|b%"_default_test"]=>
%unicode|string%(1) "2"
}
-object(stdClass)#%d (12) {
+object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(13) "_default_test"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(1)
[%u|b%"length"]=>
--EXPECTF--
Warning: mysqli_fetch_field_direct(): Field offset is invalid for resultset in %s on line %d
bool(false)
-object(stdClass)#%d (12) {
+object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "ID"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(%d)
[%u|b%"length"]=>
--EXPECTF--
Warning: mysqli_result::fetch_field_direct(): Field offset is invalid for resultset in %s on line %d
bool(false)
-object(stdClass)#%d (12) {
+object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "ID"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(%d)
[%u|b%"length"]=>
require_once("clean_table.inc");
?>
--EXPECTF--
-object(stdClass)#%d (12) {
+object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "ID"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(1)
[%u|b%"length"]=>
[%u|b%"decimals"]=>
int(0)
}
-object(stdClass)#%d (12) {
+object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(5) "label"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(%d)
[%u|b%"length"]=>
require_once("clean_table.inc");
?>
--EXPECTF--
-object(stdClass)#%d (12) {
+object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "ID"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(1)
[%u|b%"length"]=>
[%u|b%"decimals"]=>
int(0)
}
-object(stdClass)#%d (12) {
+object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(5) "label"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(1)
[%u|b%"length"]=>
--EXPECTF--
Warning: mysqli_field_seek(): Invalid field offset in %s on line %d
bool(false)
-object(stdClass)#%d (12) {
+object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "id"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
int(0)
}
bool(true)
-object(stdClass)#%d (12) {
+object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "id"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
int(0)
}
bool(true)
-object(stdClass)#%d (12) {
+object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(5) "label"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(%d)
[%u|b%"length"]=>
Warning: mysqli_field_seek(): Invalid field offset in %s on line %d
bool(false)
bool(true)
-object(stdClass)#3 (12) {
+object(stdClass)#3 (13) {
[%u|b%"name"]=>
%unicode|string%(5) "_null"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(0) ""
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
Warning: mysqli_field_seek() expects exactly 2 parameters, 1 given in %s on line %d
NULL
int(0)
-object(stdClass)#%d (12) {
+object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "id"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
require_once("clean_table.inc");
?>
--EXPECTF--
-object(stdClass)#%d (12) {
+object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "id"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
[%u|b%"decimals"]=>
int(0)
}
-object(stdClass)#%d (12) {
+object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(5) "label"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(%d)
[%u|b%"length"]=>
[%u|b%"decimals"]=>
int(0)
}
-object(stdClass)#%d (12) {
+object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(3) "_id"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(0) ""
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
[%u|b%"decimals"]=>
int(0)
}
-object(stdClass)#%d (12) {
+object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(8) "___label"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(0) ""
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(%d)
[%u|b%"length"]=>
Warning: mysqli_stmt_result_metadata(): invalid object or resource mysqli_stmt
in %s on line %d
-object(stdClass)#5 (12) {
+object(stdClass)#5 (13) {
[%u|b%"name"]=>
%unicode|string%(2) "id"
[%u|b%"orgname"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
+ [%u|b%"catalog"]=>
+ %unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>