1--TEST-- 2mysqli_error() 3--SKIPIF-- 4<?php 5require_once('skipif.inc'); 6require_once('skipifemb.inc'); 7require_once('skipifconnectfailure.inc'); 8?> 9--FILE-- 10<?php 11 require_once("connect.inc"); 12 13 $tmp = NULL; 14 $link = NULL; 15 16 if (!is_null($tmp = @mysqli_error())) 17 printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); 18 19 if (!is_null($tmp = @mysqli_error($link))) 20 printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); 21 22 if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) { 23 printf("[003] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n", 24 $host, $user, $db, $port, $socket); 25 } 26 27 $tmp = mysqli_error($link); 28 if (!is_string($tmp) || ('' !== $tmp)) 29 printf("[004] Expecting string/empty, got %s/%s. [%d] %s\n", gettype($tmp), $tmp, mysqli_errno($link), mysqli_error($link)); 30 31 if (!mysqli_query($link, 'DROP TABLE IF EXISTS test')) { 32 printf("[005] Failed to drop old test table: [%d] %s\n", mysqli_errno($link), mysqli_error($link)); 33 } 34 35 mysqli_query($link, 'SELECT * FROM test'); 36 $tmp = mysqli_error($link); 37 if (!is_string($tmp) || !preg_match("/Table '\w*\.test' doesn't exist/su", $tmp)) 38 printf("[006] Expecting string/[Table... doesn't exit], got %s/%s. [%d] %s\n", gettype($tmp), $tmp, mysqli_errno($link), mysqli_error($link)); 39 40 mysqli_close($link); 41 42 var_dump(mysqli_error($link)); 43 44 print "done!"; 45?> 46--EXPECTF-- 47Warning: mysqli_error(): Couldn't fetch mysqli in %s on line %d 48NULL 49done!