mysqli_fetch_assoc.phpt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. --TEST--
  2. mysqli_fetch_assoc()
  3. --EXTENSIONS--
  4. mysqli
  5. --SKIPIF--
  6. <?php
  7. require_once('skipifconnectfailure.inc');
  8. ?>
  9. --FILE--
  10. <?php
  11. require_once("connect.inc");
  12. // Note: no SQL type tests, internally the same function gets used as for mysqli_fetch_array() which does a lot of SQL type test
  13. require('table.inc');
  14. if (!$res = mysqli_query($link, "SELECT id, label FROM test ORDER BY id LIMIT 1")) {
  15. printf("[004] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  16. }
  17. print "[005]\n";
  18. var_dump(mysqli_fetch_assoc($res));
  19. print "[006]\n";
  20. var_dump(mysqli_fetch_assoc($res));
  21. mysqli_free_result($res);
  22. if (!$res = mysqli_query($link, "SELECT
  23. 1 AS a,
  24. 2 AS a,
  25. 3 AS c,
  26. 4 AS C,
  27. NULL AS d,
  28. true AS e,
  29. 5 AS '-1',
  30. 6 AS '-10',
  31. 7 AS '-100',
  32. 8 AS '-1000',
  33. 9 AS '10000',
  34. 'a' AS '100000',
  35. 'b' AS '1000000',
  36. 'c' AS '9',
  37. 'd' AS '9',
  38. 'e' AS '01',
  39. 'f' AS '-02'
  40. ")) {
  41. printf("[007] Cannot run query, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  42. }
  43. print "[008]\n";
  44. var_dump(mysqli_fetch_assoc($res));
  45. mysqli_free_result($res);
  46. try {
  47. mysqli_fetch_assoc($res);
  48. } catch (Error $exception) {
  49. echo $exception->getMessage() . "\n";
  50. }
  51. mysqli_close($link);
  52. print "done!";
  53. ?>
  54. --CLEAN--
  55. <?php
  56. require_once("clean_table.inc");
  57. ?>
  58. --EXPECT--
  59. [005]
  60. array(2) {
  61. ["id"]=>
  62. string(1) "1"
  63. ["label"]=>
  64. string(1) "a"
  65. }
  66. [006]
  67. NULL
  68. [008]
  69. array(15) {
  70. ["a"]=>
  71. string(1) "2"
  72. ["c"]=>
  73. string(1) "3"
  74. ["C"]=>
  75. string(1) "4"
  76. ["d"]=>
  77. NULL
  78. ["e"]=>
  79. string(1) "1"
  80. [-1]=>
  81. string(1) "5"
  82. [-10]=>
  83. string(1) "6"
  84. [-100]=>
  85. string(1) "7"
  86. [-1000]=>
  87. string(1) "8"
  88. [10000]=>
  89. string(1) "9"
  90. [100000]=>
  91. string(1) "a"
  92. [1000000]=>
  93. string(1) "b"
  94. [9]=>
  95. string(1) "d"
  96. ["01"]=>
  97. string(1) "e"
  98. ["-02"]=>
  99. string(1) "f"
  100. }
  101. mysqli_result object is already closed
  102. done!