/hphp/test/zend/bad/ext/mysqli/tests/mysqli_class_mysqli_properties_no_conn.php
https://gitlab.com/iranjith4/hhvm · PHP · 133 lines · 104 code · 28 blank · 1 comment · 3 complexity · a9a153673b259b113beac923efb3e39d MD5 · raw file
- <?php
- $test_table_name = 'test_mysqli_class_mysqli_properties_no_conn_table_1'; require('table.inc');
- function dump_properties($mysqli) {
- printf("\nClass variables:\n");
- $variables = array_keys(get_class_vars(get_class($mysqli)));
- sort($variables);
- foreach ($variables as $k => $var) {
- printf("%s = '%s'\n", $var, var_export(@$mysqli->$var, true));
- }
- printf("\nObject variables:\n");
- $variables = array_keys(get_object_vars($mysqli));
- foreach ($variables as $k => $var) {
- printf("%s = '%s'\n", $var, var_export(@$mysqli->$var, true));
- }
- printf("\nMagic, magic properties:\n");
- assert(@mysqli_affected_rows($mysqli) === @$mysqli->affected_rows);
- printf("mysqli->affected_rows = '%s'/%s ('%s'/%s)\n",
- @$mysqli->affected_rows, gettype(@$mysqli->affected_rows),
- @mysqli_affected_rows($mysqli), gettype(@mysqli_affected_rows($mysqli)));
- assert(@mysqli_get_client_info() === @$mysqli->client_info);
- printf("mysqli->client_info = '%s'/%s ('%s'/%s)\n",
- @$mysqli->client_info, gettype(@$mysqli->client_info),
- @mysqli_get_client_info(), gettype(@mysqli_get_client_info()));
- assert(@mysqli_get_client_version() === @$mysqli->client_version);
- printf("mysqli->client_version = '%s'/%s ('%s'/%s)\n",
- @$mysqli->client_version, gettype(@$mysqli->client_version),
- @mysqli_get_client_version(), gettype(@mysqli_get_client_version()));
- assert(@mysqli_errno($mysqli) === @$mysqli->errno);
- printf("mysqli->errno = '%s'/%s ('%s'/%s)\n",
- @$mysqli->errno, gettype(@$mysqli->errno),
- @mysqli_errno($mysqli), gettype(@mysqli_errno($mysqli)));
- assert(@mysqli_error($mysqli) === @$mysqli->error);
- printf("mysqli->error = '%s'/%s ('%s'/%s)\n",
- @$mysqli->error, gettype(@$mysqli->error),
- @mysqli_error($mysqli), gettype(@mysqli_error($mysqli)));
- assert(@mysqli_field_count($mysqli) === @$mysqli->field_count);
- printf("mysqli->field_count = '%s'/%s ('%s'/%s)\n",
- @$mysqli->field_count, gettype(@$mysqli->field_count),
- @mysqli_field_count($mysqli), gettype(@mysqli_field_count($mysqli)));
- assert(@mysqli_insert_id($mysqli) === @$mysqli->insert_id);
- printf("mysqli->insert_id = '%s'/%s ('%s'/%s)\n",
- @$mysqli->insert_id, gettype(@$mysqli->insert_id),
- @mysqli_insert_id($mysqli), gettype(@mysqli_insert_id($mysqli)));
- assert(@mysqli_sqlstate($mysqli) === @$mysqli->sqlstate);
- printf("mysqli->sqlstate = '%s'/%s ('%s'/%s)\n",
- @$mysqli->sqlstate, gettype(@$mysqli->sqlstate),
- @mysqli_sqlstate($mysqli), gettype(@mysqli_sqlstate($mysqli)));
- assert(@mysqli_get_host_info($mysqli) === @$mysqli->host_info);
- printf("mysqli->host_info = '%s'/%s ('%s'/%s)\n",
- @$mysqli->host_info, gettype(@$mysqli->host_info),
- @mysqli_get_host_info($mysqli), gettype(@mysqli_get_host_info($mysqli)));
- /* note that the data types are different */
- assert(@mysqli_info($mysqli) == @$mysqli->info);
- printf("mysqli->info = '%s'/%s ('%s'/%s)\n",
- @$mysqli->info, gettype(@$mysqli->info),
- @mysqli_info($mysqli), gettype(@mysqli_info($mysqli)));
- assert(@mysqli_thread_id($mysqli) > @$mysqli->thread_id);
- assert(gettype(@$mysqli->thread_id) == gettype(@mysqli_thread_id($mysqli)));
- printf("mysqli->thread_id = '%s'/%s ('%s'/%s)\n",
- @$mysqli->thread_id, gettype(@$mysqli->thread_id),
- @mysqli_thread_id($mysqli), gettype(@mysqli_thread_id($mysqli)));
- assert(@mysqli_get_proto_info($mysqli) === @$mysqli->protocol_version);
- printf("mysqli->protocol_version = '%s'/%s ('%s'/%s)\n",
- @$mysqli->protocol_version, gettype(@$mysqli->protocol_version),
- @mysqli_get_proto_info($mysqli), gettype(@mysqli_get_proto_info($mysqli)));
- assert(@mysqli_get_server_info($mysqli) === @$mysqli->server_info);
- printf("mysqli->server_info = '%s'/%s ('%s'/%s)\n",
- @$mysqli->server_info, gettype(@$mysqli->server_info),
- @mysqli_get_server_info($mysqli), gettype(@mysqli_get_server_info($mysqli)));
- assert(@mysqli_get_server_version($mysqli) === @$mysqli->server_version);
- printf("mysqli->server_version = '%s'/%s ('%s'/%s)\n",
- @$mysqli->server_version, gettype(@$mysqli->server_version),
- @mysqli_get_server_version($mysqli), gettype(@mysqli_get_server_version($mysqli)));
- assert(@mysqli_warning_count($mysqli) === @$mysqli->warning_count);
- printf("mysqli->warning_count = '%s'/%s ('%s'/%s)\n",
- @$mysqli->warning_count, gettype(@$mysqli->warning_count),
- @mysqli_warning_count($mysqli), gettype(@mysqli_warning_count($mysqli)));
- printf("\nAccess to undefined properties:\n");
- printf("mysqli->unknown = '%s'\n", @$mysqli->unknown);
- @$mysqli->unknown = 13;
- printf("setting mysqli->unknown, @mysqli_unknown = '%s'\n", @$mysqli->unknown);
- $unknown = 'friday';
- @$mysqli->unknown = $unknown;
- printf("setting mysqli->unknown, @mysqli_unknown = '%s'\n", @$mysqli->unknown);
- printf("\nAccess hidden properties for MYSLQI_STATUS_INITIALIZED (TODO documentation):\n");
- assert(@mysqli_connect_error() === @$mysqli->connect_error);
- printf("mysqli->connect_error = '%s'/%s ('%s'/%s)\n",
- @$mysqli->connect_error, gettype(@$mysqli->connect_error),
- @mysqli_connect_error(), gettype(@mysqli_connect_error()));
- assert(@mysqli_connect_errno() === @$mysqli->connect_errno);
- printf("mysqli->connect_errno = '%s'/%s ('%s'/%s)\n",
- @$mysqli->connect_errno, gettype(@$mysqli->connect_errno),
- @mysqli_connect_errno(), gettype(@mysqli_connect_errno()));
- }
- printf("Without RS\n");
- $mysqli = @new mysqli($host, $user, $passwd . "invalid", $db, $port, $socket);
- dump_properties($mysqli);
- printf("With RS\n");
- $mysqli = @new mysqli($host, $user, $passwd . "invalid", $db, $port, $socket);
- $res = @$mysqli->query("SELECT * FROM test_mysqli_class_mysqli_properties_no_conn_table_1");
- dump_properties($mysqli);
- print "done!";
- ?>
- <?php error_reporting(0); ?>
- <?php $test_table_name = 'test_mysqli_class_mysqli_properties_no_conn_table_1'; require_once("clean_table.inc"); ?>