summaryrefslogtreecommitdiff
path: root/ext/mysql/tests/mysql_fetch_assoc.phpt
blob: 4479a2ab3e8e07c73631add6a23ca8d6bde185c6 (plain)
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
--TEST--
mysql_fetch_assoc()
--SKIPIF--
<?php
require_once('skipif.inc');
require_once('skipifconnectfailure.inc');
?>
--FILE--
<?php
include "connect.inc";

$tmp    = NULL;
$link   = NULL;

// Note: no SQL type tests, internally the same function gets used as for mysql_fetch_array() which does a lot of SQL type test

if (!is_null($tmp = @mysql_fetch_assoc()))
	printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);

if (NULL !== ($tmp = @mysql_fetch_assoc($link)))
	printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);

require('table.inc');
if (!$res = mysql_query("SELECT id, label FROM test ORDER BY id LIMIT 1", $link)) {
	printf("[004] [%d] %s\n", mysql_errno($link), mysql_error($link));
}

print "[005]\n";
var_dump(mysql_fetch_assoc($res));

print "[006]\n";
var_dump(mysql_fetch_assoc($res));

mysql_free_result($res);

if (!$res = mysql_query("SELECT 1 AS a, 2 AS a, 3 AS c, 4 AS C, NULL AS d, true AS e", $link)) {
	printf("[007] Cannot run query, [%d] %s\n", mysql_errno($link), $mysql_error($link));
}
print "[008]\n";
var_dump(mysql_fetch_assoc($res));

mysql_free_result($res);

if (false !== ($tmp = mysql_fetch_assoc($res)))
	printf("[008] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);

mysql_close($link);

include('table.inc');
if (!$res = mysql_query("SELECT id, label, id AS _id, CONCAT(label, 'a') _label, NULL as _foo FROM test _test ORDER BY id ASC LIMIT 1", $link)) {
	printf("[009] [%d] %s\n", mysql_errno($link), $mysql_error($link));
}
print "[010]\n";
var_dump(mysql_fetch_assoc($res));
mysql_free_result($res);

mysql_close($link);

print "done!";
?>
--EXPECTF--
[005]
array(2) {
  ["id"]=>
  string(1) "1"
  ["label"]=>
  string(1) "a"
}
[006]
bool(false)
[008]
array(5) {
  ["a"]=>
  string(1) "2"
  ["c"]=>
  string(1) "3"
  ["C"]=>
  string(1) "4"
  ["d"]=>
  NULL
  ["e"]=>
  string(1) "1"
}

Warning: mysql_fetch_assoc(): %d is not a valid MySQL result resource in %s on line %d
[010]
array(5) {
  ["id"]=>
  string(1) "1"
  ["label"]=>
  string(1) "a"
  ["_id"]=>
  string(1) "1"
  ["_label"]=>
  string(2) "aa"
  ["_foo"]=>
  NULL
}
done!
--UEXPECTF--
[005]
array(2) {
  [u"id"]=>
  unicode(1) "1"
  [u"label"]=>
  unicode(1) "a"
}
[006]
bool(false)
[008]
array(5) {
  [u"a"]=>
  unicode(1) "2"
  [u"c"]=>
  unicode(1) "3"
  [u"C"]=>
  unicode(1) "4"
  [u"d"]=>
  NULL
  [u"e"]=>
  unicode(1) "1"
}

Warning: mysql_fetch_assoc(): %d is not a valid MySQL result resource in %s on line %d
[010]
array(5) {
  [u"id"]=>
  unicode(1) "1"
  [u"label"]=>
  unicode(1) "a"
  [u"_id"]=>
  unicode(1) "1"
  [u"_label"]=>
  unicode(2) "aa"
  [u"_foo"]=>
  NULL
}
done!