1--TEST-- 2mysqli_change_user(), MySQL 5.6+ 3--EXTENSIONS-- 4mysqli 5--SKIPIF-- 6<?php 7require_once('skipifconnectfailure.inc'); 8 9if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) 10 die(sprintf("SKIP Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n", 11 $host, $user, $db, $port, $socket)); 12 13if (mysqli_get_server_version($link) < 50600) 14 die("SKIP For MySQL >= 5.6.0"); 15 16if (mysqli_get_server_version($link) >= 10_00_00) 17 die("SKIP Not applicable for MariaDB"); 18?> 19--FILE-- 20<?php 21 require_once("connect.inc"); 22 23 $tmp = NULL; 24 $link = NULL; 25 26 if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) 27 printf("[001] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n", 28 $host, $user, $db, $port, $socket); 29 30 /* Pre 5.6: link remains useable */ 31 if (false !== ($tmp = @mysqli_change_user($link, $user . '_unknown_really', $passwd . 'non_empty', $db))) 32 printf("[002] Expecting false, got %s/%s\n", gettype($tmp), $tmp); 33 34 if (!$res = mysqli_query($link, 'SELECT 1 AS _one')) 35 printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); 36 else 37 var_dump($res->fetch_assoc()); 38 39 print "done!"; 40?> 41--EXPECT-- 42[003] [2006] MySQL server has gone away 43done! 44