1--TEST-- 2mysqli_fetch_assoc() 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 // Note: no SQL type tests, internally the same function gets used as for mysqli_fetch_array() which does a lot of SQL type test 17 18 if (!is_null($tmp = @mysqli_fetch_assoc())) 19 printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); 20 21 if (!is_null($tmp = @mysqli_fetch_assoc($link))) 22 printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); 23 24 require('table.inc'); 25 if (!$res = mysqli_query($link, "SELECT id, label FROM test ORDER BY id LIMIT 1")) { 26 printf("[004] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); 27 } 28 29 print "[005]\n"; 30 var_dump(mysqli_fetch_assoc($res)); 31 32 print "[006]\n"; 33 var_dump(mysqli_fetch_assoc($res)); 34 35 mysqli_free_result($res); 36 37 if (!$res = mysqli_query($link, "SELECT 38 1 AS a, 39 2 AS a, 40 3 AS c, 41 4 AS C, 42 NULL AS d, 43 true AS e, 44 5 AS '-1', 45 6 AS '-10', 46 7 AS '-100', 47 8 AS '-1000', 48 9 AS '10000', 49 'a' AS '100000', 50 'b' AS '1000000', 51 'c' AS '9', 52 'd' AS '9', 53 'e' AS '01', 54 'f' AS '-02' 55 ")) { 56 printf("[007] Cannot run query, [%d] %s\n", mysqli_errno($link), mysqli_error($link)); 57 } 58 print "[008]\n"; 59 var_dump(mysqli_fetch_assoc($res)); 60 61 mysqli_free_result($res); 62 63 if (NULL !== ($tmp = mysqli_fetch_assoc($res))) 64 printf("[008] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); 65 66 mysqli_close($link); 67 68 print "done!"; 69?> 70--CLEAN-- 71<?php 72 require_once("clean_table.inc"); 73?> 74--EXPECTF-- 75[005] 76array(2) { 77 [%u|b%"id"]=> 78 %unicode|string%(1) "1" 79 [%u|b%"label"]=> 80 %unicode|string%(1) "a" 81} 82[006] 83NULL 84[008] 85array(15) { 86 [%u|b%"a"]=> 87 %unicode|string%(1) "2" 88 [%u|b%"c"]=> 89 %unicode|string%(1) "3" 90 [%u|b%"C"]=> 91 %unicode|string%(1) "4" 92 [%u|b%"d"]=> 93 NULL 94 [%u|b%"e"]=> 95 %unicode|string%(1) "1" 96 [-1]=> 97 %unicode|string%(1) "5" 98 [-10]=> 99 %unicode|string%(1) "6" 100 [-100]=> 101 %unicode|string%(1) "7" 102 [-1000]=> 103 %unicode|string%(1) "8" 104 [10000]=> 105 %unicode|string%(1) "9" 106 [100000]=> 107 %unicode|string%(1) "a" 108 [1000000]=> 109 %unicode|string%(1) "b" 110 [9]=> 111 %unicode|string%(1) "d" 112 [%u|b%"01"]=> 113 %unicode|string%(1) "e" 114 [%u|b%"-02"]=> 115 %unicode|string%(1) "f" 116} 117 118Warning: mysqli_fetch_assoc(): Couldn't fetch mysqli_result in %s on line %d 119done!