1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
--TEST--
mysqli_fetch_assoc()
--EXTENSIONS--
mysqli
--SKIPIF--
<?php
require_once 'skipifconnectfailure.inc';
?>
--FILE--
<?php
// Note: no SQL type tests, internally the same function gets used as for mysqli_fetch_array() which does a lot of SQL type test
require 'table.inc';
$mysqli = $link;
if (!$res = $mysqli->query("SELECT id, label FROM test ORDER BY id LIMIT 1")) {
printf("[004] [%d] %s\n", $mysqli->errno, $mysqli->error);
}
print "[005]\n";
var_dump($res->fetch_assoc());
print "[006]\n";
var_dump($res->fetch_assoc());
$res->free_result();
if (!$res = $mysqli->query("SELECT 1 AS a, 2 AS a, 3 AS c, 4 AS C, NULL AS d, true AS e")) {
printf("[007] Cannot run query, [%d] %s\n", $mysqli->errno, $mysqli->error);
}
print "[008]\n";
var_dump($res->fetch_assoc());
$res->free_result();
try {
$res->fetch_assoc();
} catch (Error $exception) {
echo $exception->getMessage() . "\n";
}
mysqli_close($link);
print "done!";
?>
--CLEAN--
<?php
require_once 'clean_table.inc';
?>
--EXPECT--
[005]
array(2) {
["id"]=>
string(1) "1"
["label"]=>
string(1) "a"
}
[006]
NULL
[008]
array(5) {
["a"]=>
string(1) "2"
["c"]=>
string(1) "3"
["C"]=>
string(1) "4"
["d"]=>
NULL
["e"]=>
string(1) "1"
}
mysqli_result object is already closed
done!
|