1--TEST-- 2mysqli_get_client_stats() - implicit_free_result 3--EXTENSIONS-- 4mysqli 5--SKIPIF-- 6<?PHP 7require_once('skipifconnectfailure.inc'); 8if (!function_exists('mysqli_get_client_stats')) { 9 die("skip only available with mysqlnd"); 10} 11?> 12--INI-- 13mysqlnd.collect_statistics=1 14mysqlnd.collect_memory_statistics=1 15--FILE-- 16<?php 17 require_once('connect.inc'); 18 require_once('table.inc'); 19 20 $stats = mysqli_get_client_stats(); 21 printf("BEGINNING: implicit_free_result = %d\n", $stats['implicit_free_result']); 22 23 if (!$res = mysqli_query($link, 'SELECT id FROM test')) 24 printf("[001] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); 25 26 mysqli_free_result($res); 27 mysqli_close($link); 28 29 $after = mysqli_get_client_stats(); 30 if ($after['implicit_free_result'] != $stats['implicit_free_result']) 31 printf("[002] Where is the missing mysqli_free_result() call? implicit_free_result has changed by %d.\n", 32 $after['implicit_free_result'] - $stats['implicit_free_result']); 33 34 $stats = $after; 35 printf("END: implicit_free_result = %d\n", $stats['implicit_free_result']); 36 37 print "done!"; 38?> 39--CLEAN-- 40<?php 41 require_once("clean_table.inc"); 42?> 43--EXPECTF-- 44BEGINNING: implicit_free_result = %d 45END: implicit_free_result = %d 46done! 47