1--TEST--
2ReflectionFunction to check API
3--SKIPIF--
4<?php
5require_once('skipif.inc');
6?>
7--FILE--
8<?php
9	$r = new ReflectionExtension("mysql");
10
11	$ignore = array();
12
13	$functions = $r->getFunctions();
14	asort($functions);
15	printf("Functions:\n");
16	foreach ($functions as $func) {
17		if (isset($ignore[$func->name]))
18			continue;
19
20		printf("  %s\n", $func->name);
21		$rf = new ReflectionFunction($func->name);
22		printf("    Deprecated: %s\n", $rf->isDeprecated() ? "yes" : "no");
23		printf("    Accepted parameters: %d\n", $rf->getNumberOfParameters());
24		printf("    Required parameters: %d\n", $rf->getNumberOfRequiredParameters());
25		foreach( $rf->getParameters() as $param ) {
26			printf("      %s\n", $param);
27		}
28	}
29
30	print "done!";
31?>
32--EXPECTF--
33Functions:
34  mysql
35    Deprecated: yes
36    Accepted parameters: 3
37    Required parameters: 2
38      Parameter #0 [ <required> $database_name ]
39      Parameter #1 [ <required> $query ]
40      Parameter #2 [ <optional> $link_identifier ]
41  mysql_affected_rows
42    Deprecated: no
43    Accepted parameters: 1
44    Required parameters: 0
45      Parameter #0 [ <optional> $link_identifier ]
46  mysql_client_encoding
47    Deprecated: no
48    Accepted parameters: 1
49    Required parameters: 0
50      Parameter #0 [ <optional> $link_identifier ]
51  mysql_close
52    Deprecated: no
53    Accepted parameters: 1
54    Required parameters: 0
55      Parameter #0 [ <optional> $link_identifier ]
56  mysql_connect
57    Deprecated: no
58    Accepted parameters: 5
59    Required parameters: 0
60      Parameter #0 [ <optional> $hostname ]
61      Parameter #1 [ <optional> $username ]
62      Parameter #2 [ <optional> $password ]
63      Parameter #3 [ <optional> $new ]
64      Parameter #4 [ <optional> $flags ]
65  mysql_data_seek
66    Deprecated: no
67    Accepted parameters: 2
68    Required parameters: 2
69      Parameter #0 [ <required> $result ]
70      Parameter #1 [ <required> $row_number ]
71  mysql_db_name
72    Deprecated: no
73    Accepted parameters: 3
74    Required parameters: 2
75      Parameter #0 [ <required> $result ]
76      Parameter #1 [ <required> $row ]
77      Parameter #2 [ <optional> $field ]
78  mysql_db_query
79    Deprecated: yes
80    Accepted parameters: 3
81    Required parameters: 2
82      Parameter #0 [ <required> $database_name ]
83      Parameter #1 [ <required> $query ]
84      Parameter #2 [ <optional> $link_identifier ]
85  mysql_dbname
86    Deprecated: yes
87    Accepted parameters: 3
88    Required parameters: 2
89      Parameter #0 [ <required> $result ]
90      Parameter #1 [ <required> $row ]
91      Parameter #2 [ <optional> $field ]
92  mysql_errno
93    Deprecated: no
94    Accepted parameters: 1
95    Required parameters: 0
96      Parameter #0 [ <optional> $link_identifier ]
97  mysql_error
98    Deprecated: no
99    Accepted parameters: 1
100    Required parameters: 0
101      Parameter #0 [ <optional> $link_identifier ]
102  mysql_escape_string
103    Deprecated: no
104    Accepted parameters: 1
105    Required parameters: 1
106      Parameter #0 [ <required> $string ]
107  mysql_fetch_array
108    Deprecated: no
109    Accepted parameters: 2
110    Required parameters: 1
111      Parameter #0 [ <required> $result ]
112      Parameter #1 [ <optional> $result_type ]
113  mysql_fetch_assoc
114    Deprecated: no
115    Accepted parameters: 1
116    Required parameters: 1
117      Parameter #0 [ <required> $result ]
118  mysql_fetch_field
119    Deprecated: no
120    Accepted parameters: 2
121    Required parameters: 1
122      Parameter #0 [ <required> $result ]
123      Parameter #1 [ <optional> $field_offset ]
124  mysql_fetch_lengths
125    Deprecated: no
126    Accepted parameters: 1
127    Required parameters: 1
128      Parameter #0 [ <required> $result ]
129  mysql_fetch_object
130    Deprecated: no
131    Accepted parameters: 3
132    Required parameters: 1
133      Parameter #0 [ <required> $result ]
134      Parameter #1 [ <optional> $class_name ]
135      Parameter #2 [ <optional> $ctor_params ]
136  mysql_fetch_row
137    Deprecated: no
138    Accepted parameters: 1
139    Required parameters: 1
140      Parameter #0 [ <required> $result ]
141  mysql_field_flags
142    Deprecated: no
143    Accepted parameters: 2
144    Required parameters: 2
145      Parameter #0 [ <required> $result ]
146      Parameter #1 [ <required> $field_offset ]
147  mysql_field_len
148    Deprecated: no
149    Accepted parameters: 2
150    Required parameters: 2
151      Parameter #0 [ <required> $result ]
152      Parameter #1 [ <required> $field_offset ]
153  mysql_field_name
154    Deprecated: no
155    Accepted parameters: 2
156    Required parameters: 2
157      Parameter #0 [ <required> $result ]
158      Parameter #1 [ <required> $field_index ]
159  mysql_field_seek
160    Deprecated: no
161    Accepted parameters: 2
162    Required parameters: 2
163      Parameter #0 [ <required> $result ]
164      Parameter #1 [ <required> $field_offset ]
165  mysql_field_table
166    Deprecated: no
167    Accepted parameters: 2
168    Required parameters: 2
169      Parameter #0 [ <required> $result ]
170      Parameter #1 [ <required> $field_offset ]
171  mysql_field_type
172    Deprecated: no
173    Accepted parameters: 2
174    Required parameters: 2
175      Parameter #0 [ <required> $result ]
176      Parameter #1 [ <required> $field_offset ]
177  mysql_fieldflags
178    Deprecated: yes
179    Accepted parameters: 2
180    Required parameters: 2
181      Parameter #0 [ <required> $result ]
182      Parameter #1 [ <required> $field_offset ]
183  mysql_fieldlen
184    Deprecated: yes
185    Accepted parameters: 2
186    Required parameters: 2
187      Parameter #0 [ <required> $result ]
188      Parameter #1 [ <required> $field_offset ]
189  mysql_fieldname
190    Deprecated: yes
191    Accepted parameters: 2
192    Required parameters: 2
193      Parameter #0 [ <required> $result ]
194      Parameter #1 [ <required> $field_index ]
195  mysql_fieldtable
196    Deprecated: yes
197    Accepted parameters: 2
198    Required parameters: 2
199      Parameter #0 [ <required> $result ]
200      Parameter #1 [ <required> $field_offset ]
201  mysql_fieldtype
202    Deprecated: yes
203    Accepted parameters: 2
204    Required parameters: 2
205      Parameter #0 [ <required> $result ]
206      Parameter #1 [ <required> $field_offset ]
207  mysql_free_result
208    Deprecated: no
209    Accepted parameters: 1
210    Required parameters: 1
211      Parameter #0 [ <required> $result ]
212  mysql_freeresult
213    Deprecated: yes
214    Accepted parameters: 1
215    Required parameters: 1
216      Parameter #0 [ <required> $result ]
217  mysql_get_client_info
218    Deprecated: no
219    Accepted parameters: 0
220    Required parameters: 0
221  mysql_get_host_info
222    Deprecated: no
223    Accepted parameters: 1
224    Required parameters: 0
225      Parameter #0 [ <optional> $link_identifier ]
226  mysql_get_proto_info
227    Deprecated: no
228    Accepted parameters: 1
229    Required parameters: 0
230      Parameter #0 [ <optional> $link_identifier ]
231  mysql_get_server_info
232    Deprecated: no
233    Accepted parameters: 1
234    Required parameters: 0
235      Parameter #0 [ <optional> $link_identifier ]
236  mysql_info
237    Deprecated: no
238    Accepted parameters: 1
239    Required parameters: 0
240      Parameter #0 [ <optional> $link_identifier ]
241  mysql_insert_id
242    Deprecated: no
243    Accepted parameters: 1
244    Required parameters: 0
245      Parameter #0 [ <optional> $link_identifier ]
246  mysql_list_dbs
247    Deprecated: yes
248    Accepted parameters: 1
249    Required parameters: 0
250      Parameter #0 [ <optional> $link_identifier ]
251  mysql_list_fields
252    Deprecated: no
253    Accepted parameters: 3
254    Required parameters: 2
255      Parameter #0 [ <required> $database_name ]
256      Parameter #1 [ <required> $table_name ]
257      Parameter #2 [ <optional> $link_identifier ]
258  mysql_list_processes
259    Deprecated: no
260    Accepted parameters: 1
261    Required parameters: 0
262      Parameter #0 [ <optional> $link_identifier ]
263  mysql_list_tables
264    Deprecated: yes
265    Accepted parameters: 2
266    Required parameters: 1
267      Parameter #0 [ <required> $database_name ]
268      Parameter #1 [ <optional> $link_identifier ]
269  mysql_listdbs
270    Deprecated: yes
271    Accepted parameters: 1
272    Required parameters: 0
273      Parameter #0 [ <optional> $link_identifier ]
274  mysql_listfields
275    Deprecated: yes
276    Accepted parameters: 3
277    Required parameters: 2
278      Parameter #0 [ <required> $database_name ]
279      Parameter #1 [ <required> $table_name ]
280      Parameter #2 [ <optional> $link_identifier ]
281  mysql_listtables
282    Deprecated: yes
283    Accepted parameters: 2
284    Required parameters: 1
285      Parameter #0 [ <required> $database_name ]
286      Parameter #1 [ <optional> $link_identifier ]
287  mysql_num_fields
288    Deprecated: no
289    Accepted parameters: 1
290    Required parameters: 1
291      Parameter #0 [ <required> $result ]
292  mysql_num_rows
293    Deprecated: no
294    Accepted parameters: 1
295    Required parameters: 1
296      Parameter #0 [ <required> $result ]
297  mysql_numfields
298    Deprecated: yes
299    Accepted parameters: 1
300    Required parameters: 1
301      Parameter #0 [ <required> $result ]
302  mysql_numrows
303    Deprecated: yes
304    Accepted parameters: 1
305    Required parameters: 1
306      Parameter #0 [ <required> $result ]
307  mysql_pconnect
308    Deprecated: no
309    Accepted parameters: 4
310    Required parameters: 0
311      Parameter #0 [ <optional> $hostname ]
312      Parameter #1 [ <optional> $username ]
313      Parameter #2 [ <optional> $password ]
314      Parameter #3 [ <optional> $flags ]
315  mysql_ping
316    Deprecated: no
317    Accepted parameters: 1
318    Required parameters: 0
319      Parameter #0 [ <optional> $link_identifier ]
320  mysql_query
321    Deprecated: no
322    Accepted parameters: 2
323    Required parameters: 1
324      Parameter #0 [ <required> $query ]
325      Parameter #1 [ <optional> $link_identifier ]
326  mysql_real_escape_string
327    Deprecated: no
328    Accepted parameters: 2
329    Required parameters: 1
330      Parameter #0 [ <required> $string ]
331      Parameter #1 [ <optional> $link_identifier ]
332  mysql_result
333    Deprecated: no
334    Accepted parameters: 3
335    Required parameters: 2
336      Parameter #0 [ <required> $result ]
337      Parameter #1 [ <required> $row ]
338      Parameter #2 [ <optional> $field ]
339  mysql_select_db
340    Deprecated: no
341    Accepted parameters: 2
342    Required parameters: 1
343      Parameter #0 [ <required> $database_name ]
344      Parameter #1 [ <optional> $link_identifier ]
345  mysql_selectdb
346    Deprecated: yes
347    Accepted parameters: 2
348    Required parameters: 1
349      Parameter #0 [ <required> $database_name ]
350      Parameter #1 [ <optional> $link_identifier ]
351  mysql_set_charset
352    Deprecated: no
353    Accepted parameters: 2
354    Required parameters: 1
355      Parameter #0 [ <required> $charset_name ]
356      Parameter #1 [ <optional> $link_identifier ]
357  mysql_stat
358    Deprecated: no
359    Accepted parameters: 1
360    Required parameters: 0
361      Parameter #0 [ <optional> $link_identifier ]
362  mysql_table_name
363    Deprecated: no
364    Accepted parameters: 3
365    Required parameters: 2
366      Parameter #0 [ <required> $result ]
367      Parameter #1 [ <required> $row ]
368      Parameter #2 [ <optional> $field ]
369  mysql_tablename
370    Deprecated: no
371    Accepted parameters: 3
372    Required parameters: 2
373      Parameter #0 [ <required> $result ]
374      Parameter #1 [ <required> $row ]
375      Parameter #2 [ <optional> $field ]
376  mysql_thread_id
377    Deprecated: no
378    Accepted parameters: 1
379    Required parameters: 0
380      Parameter #0 [ <optional> $link_identifier ]
381  mysql_unbuffered_query
382    Deprecated: no
383    Accepted parameters: 2
384    Required parameters: 1
385      Parameter #0 [ <required> $query ]
386      Parameter #1 [ <optional> $link_identifier ]
387done!