📄 mysqli_class_mysqli_result_interface.phpt
字号:
--TEST--Interface of the class mysqli--SKIPIF--<?php require_once('skipif.inc'); ?><?php require_once('skipifemb.inc'); ?>--FILE--<?php require('connect.inc'); require('table.inc'); $mysqli = new mysqli($host, $user, $passwd, $db, $port, $socket); $mysqli_result = $mysqli->query('SELECT * FROM test'); $row = $mysqli_result->fetch_row(); $link = mysqli_connect($host, $user, $passwd, $db, $port, $socket); $res = mysqli_query($link, 'SELECT * FROM test'); assert(mysqli_fetch_row($res) === $row); printf("Parent class:\n"); var_dump(get_parent_class($mysqli_result)); printf("\nMethods:\n"); $methods = get_class_methods($mysqli_result); $have_mysqlnd = stristr(mysqli_get_client_info(), 'mysqlnd'); $mysqlnd_only = array( 'fetch_all' => 'fetch_all', ); sort($methods); foreach ($methods as $k => $method) { if ($have_mysqlnd && (isset($mysqlnd_only[$method]))) { unset($mysqlnd_only[$method]); continue; } printf("%s\n", $method); } if ($have_mysqlnd && !empty($mysqlnd_only)) { printf("Missing methods: \n"); foreach ($mysqlnd_only as $k => $v) printf("%s\n", $k); } printf("\nClass variables:\n"); $variables = get_class_vars(get_class($mysqli_result)); sort($variables); foreach ($variables as $k => $var) printf("%s\n", $var); printf("\nObject variables:\n"); $variables = get_object_vars($mysqli_result); foreach ($variables as $k => $var) printf("%s\n", $var); printf("\nMagic, magic properties:\n"); assert(mysqli_field_tell($res) === $mysqli_result->current_field); printf("mysqli_result->current_field = %s\n", $mysqli_result->current_field); assert(mysqli_field_count($link) === $mysqli_result->field_count); printf("mysqli_result->field_count = %s\n", $mysqli_result->field_count); assert(mysqli_fetch_lengths($res) === $mysqli_result->lengths); printf("mysqli_result->lengths -> %s\n", (is_array($mysqli_result->lengths)) ? implode(' ', $mysqli_result->lengths) : 'n/a'); assert(mysqli_num_rows($res) === $mysqli_result->num_rows); printf("mysqli_result->num_rows = %s\n", $mysqli_result->num_rows); assert(in_array($mysqli_result->type, array(MYSQLI_STORE_RESULT, MYSQLI_USE_RESULT))); printf("mysqli_result->type = %s\n", (MYSQLI_STORE_RESULT == $mysqli_result->type) ? 'store' : 'use'); print "done!";?>--EXPECTF--Parent class:bool(false)Methods:__constructclosedata_seekfetch_arrayfetch_assocfetch_fieldfetch_field_directfetch_fieldsfetch_objectfetch_rowfield_countfield_seekfreefree_resultClass variables:Object variables:Magic, magic properties:mysqli_result->current_field = 0mysqli_result->field_count = 2mysqli_result->lengths -> 1 1mysqli_result->num_rows = 6mysqli_result->type = storedone!
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -