xref: /PHP-8.4/ext/mysqli/mysqli.stub.php (revision 082b964d)
1<?php
2
3/** @generate-class-entries */
4
5/* mysqli_options */
6/**
7 * @var int
8 * @cvalue MYSQL_READ_DEFAULT_GROUP
9 */
10const MYSQLI_READ_DEFAULT_GROUP = UNKNOWN;
11/**
12 * @var int
13 * @cvalue MYSQL_READ_DEFAULT_FILE
14 */
15const MYSQLI_READ_DEFAULT_FILE = UNKNOWN;
16/**
17 * @var int
18 * @cvalue MYSQL_OPT_CONNECT_TIMEOUT
19 */
20const MYSQLI_OPT_CONNECT_TIMEOUT = UNKNOWN;
21/**
22 * @var int
23 * @cvalue MYSQL_OPT_LOCAL_INFILE
24 */
25const MYSQLI_OPT_LOCAL_INFILE = UNKNOWN;
26/**
27 * @var int
28 * @cvalue MYSQL_OPT_LOAD_DATA_LOCAL_DIR
29 */
30const MYSQLI_OPT_LOAD_DATA_LOCAL_DIR = UNKNOWN;
31/**
32 * @var int
33 * @cvalue MYSQL_INIT_COMMAND
34 */
35const MYSQLI_INIT_COMMAND = UNKNOWN;
36/**
37 * @var int
38 * @cvalue MYSQL_OPT_READ_TIMEOUT
39 */
40const MYSQLI_OPT_READ_TIMEOUT = UNKNOWN;
41/**
42 * @var int
43 * @cvalue MYSQLND_OPT_NET_CMD_BUFFER_SIZE
44 */
45const MYSQLI_OPT_NET_CMD_BUFFER_SIZE = UNKNOWN;
46/**
47 * @var int
48 * @cvalue MYSQLND_OPT_NET_READ_BUFFER_SIZE
49 */
50const MYSQLI_OPT_NET_READ_BUFFER_SIZE = UNKNOWN;
51/**
52 * @var int
53 * @cvalue MYSQLND_OPT_INT_AND_FLOAT_NATIVE
54 */
55const MYSQLI_OPT_INT_AND_FLOAT_NATIVE = UNKNOWN;
56/**
57 * @var int
58 * @cvalue MYSQL_OPT_SSL_VERIFY_SERVER_CERT
59 */
60const MYSQLI_OPT_SSL_VERIFY_SERVER_CERT = UNKNOWN;
61
62/**
63 * @var int
64 * @cvalue MYSQL_SERVER_PUBLIC_KEY
65 */
66const MYSQLI_SERVER_PUBLIC_KEY = UNKNOWN;
67
68/* mysqli_real_connect flags */
69/**
70 * @var int
71 * @cvalue CLIENT_SSL
72 */
73const MYSQLI_CLIENT_SSL = UNKNOWN;
74/**
75 * @var int
76 * @cvalue CLIENT_COMPRESS
77 */
78const MYSQLI_CLIENT_COMPRESS = UNKNOWN;
79/**
80 * @var int
81 * @cvalue CLIENT_INTERACTIVE
82 */
83const MYSQLI_CLIENT_INTERACTIVE = UNKNOWN;
84/**
85 * @var int
86 * @cvalue CLIENT_IGNORE_SPACE
87 */
88const MYSQLI_CLIENT_IGNORE_SPACE = UNKNOWN;
89/**
90 * @var int
91 * @cvalue CLIENT_NO_SCHEMA
92 */
93const MYSQLI_CLIENT_NO_SCHEMA = UNKNOWN;
94/**
95 * @var int
96 * @cvalue CLIENT_FOUND_ROWS
97 */
98const MYSQLI_CLIENT_FOUND_ROWS = UNKNOWN;
99/**
100 * @var int
101 * @cvalue CLIENT_SSL_VERIFY_SERVER_CERT
102 */
103const MYSQLI_CLIENT_SSL_VERIFY_SERVER_CERT = UNKNOWN;
104/**
105 * @var int
106 * @cvalue CLIENT_SSL_DONT_VERIFY_SERVER_CERT
107 */
108const MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT = UNKNOWN;
109/**
110 * @var int
111 * @cvalue CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS
112 */
113const MYSQLI_CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS = UNKNOWN;
114/**
115 * @var int
116 * @cvalue MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS
117 */
118const MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS = UNKNOWN;
119
120/* for mysqli_query */
121/**
122 * @var int
123 * @cvalue MYSQLI_STORE_RESULT
124 */
125const MYSQLI_STORE_RESULT = UNKNOWN;
126/**
127 * @var int
128 * @cvalue MYSQLI_USE_RESULT
129 */
130const MYSQLI_USE_RESULT = UNKNOWN;
131/**
132 * @var int
133 * @cvalue MYSQLI_ASYNC
134 */
135const MYSQLI_ASYNC = UNKNOWN;
136/**
137 * @var int
138 * @cvalue MYSQLI_STORE_RESULT_COPY_DATA
139 * @deprecated
140 */
141const MYSQLI_STORE_RESULT_COPY_DATA = UNKNOWN;
142
143/* for mysqli_fetch_assoc */
144/**
145 * @var int
146 * @cvalue MYSQLI_ASSOC
147 */
148const MYSQLI_ASSOC = UNKNOWN;
149/**
150 * @var int
151 * @cvalue MYSQLI_NUM
152 */
153const MYSQLI_NUM = UNKNOWN;
154/**
155 * @var int
156 * @cvalue MYSQLI_BOTH
157 */
158const MYSQLI_BOTH = UNKNOWN;
159
160/* for mysqli_stmt_set_attr */
161/**
162 * @var int
163 * @cvalue STMT_ATTR_UPDATE_MAX_LENGTH
164 */
165const MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH = UNKNOWN;
166
167/**
168 * @var int
169 * @cvalue STMT_ATTR_CURSOR_TYPE
170 */
171const MYSQLI_STMT_ATTR_CURSOR_TYPE = UNKNOWN;
172/**
173 * @var int
174 * @cvalue CURSOR_TYPE_NO_CURSOR
175 */
176const MYSQLI_CURSOR_TYPE_NO_CURSOR = UNKNOWN;
177/**
178 * @var int
179 * @cvalue CURSOR_TYPE_READ_ONLY
180 */
181const MYSQLI_CURSOR_TYPE_READ_ONLY = UNKNOWN;
182
183/* column information */
184/**
185 * @var int
186 * @cvalue NOT_NULL_FLAG
187 */
188const MYSQLI_NOT_NULL_FLAG = UNKNOWN;
189/**
190 * @var int
191 * @cvalue PRI_KEY_FLAG
192 */
193const MYSQLI_PRI_KEY_FLAG = UNKNOWN;
194/**
195 * @var int
196 * @cvalue UNIQUE_KEY_FLAG
197 */
198const MYSQLI_UNIQUE_KEY_FLAG = UNKNOWN;
199/**
200 * @var int
201 * @cvalue MULTIPLE_KEY_FLAG
202 */
203const MYSQLI_MULTIPLE_KEY_FLAG = UNKNOWN;
204/**
205 * @var int
206 * @cvalue BLOB_FLAG
207 */
208const MYSQLI_BLOB_FLAG = UNKNOWN;
209/**
210 * @var int
211 * @cvalue UNSIGNED_FLAG
212 */
213const MYSQLI_UNSIGNED_FLAG = UNKNOWN;
214/**
215 * @var int
216 * @cvalue ZEROFILL_FLAG
217 */
218const MYSQLI_ZEROFILL_FLAG = UNKNOWN;
219/**
220 * @var int
221 * @cvalue AUTO_INCREMENT_FLAG
222 */
223const MYSQLI_AUTO_INCREMENT_FLAG = UNKNOWN;
224/**
225 * @var int
226 * @cvalue TIMESTAMP_FLAG
227 */
228const MYSQLI_TIMESTAMP_FLAG = UNKNOWN;
229/**
230 * @var int
231 * @cvalue SET_FLAG
232 */
233const MYSQLI_SET_FLAG = UNKNOWN;
234/**
235 * @var int
236 * @cvalue NUM_FLAG
237 */
238const MYSQLI_NUM_FLAG = UNKNOWN;
239/**
240 * @var int
241 * @cvalue PART_KEY_FLAG
242 */
243const MYSQLI_PART_KEY_FLAG = UNKNOWN;
244/**
245 * @var int
246 * @cvalue GROUP_FLAG
247 */
248const MYSQLI_GROUP_FLAG = UNKNOWN;
249/**
250 * @var int
251 * @cvalue ENUM_FLAG
252 */
253const MYSQLI_ENUM_FLAG = UNKNOWN;
254/**
255 * @var int
256 * @cvalue BINARY_FLAG
257 */
258const MYSQLI_BINARY_FLAG = UNKNOWN;
259/**
260 * @var int
261 * @cvalue NO_DEFAULT_VALUE_FLAG
262 */
263const MYSQLI_NO_DEFAULT_VALUE_FLAG = UNKNOWN;
264
265/**
266 * @var int
267 * @cvalue ON_UPDATE_NOW_FLAG
268 */
269const MYSQLI_ON_UPDATE_NOW_FLAG = UNKNOWN;
270
271/**
272 * @var int
273 * @cvalue FIELD_TYPE_DECIMAL
274 */
275const MYSQLI_TYPE_DECIMAL = UNKNOWN;
276/**
277 * @var int
278 * @cvalue FIELD_TYPE_TINY
279 */
280const MYSQLI_TYPE_TINY = UNKNOWN;
281/**
282 * @var int
283 * @cvalue FIELD_TYPE_SHORT
284 */
285const MYSQLI_TYPE_SHORT = UNKNOWN;
286/**
287 * @var int
288 * @cvalue FIELD_TYPE_LONG
289 */
290const MYSQLI_TYPE_LONG = UNKNOWN;
291/**
292 * @var int
293 * @cvalue FIELD_TYPE_FLOAT
294 */
295const MYSQLI_TYPE_FLOAT = UNKNOWN;
296/**
297 * @var int
298 * @cvalue FIELD_TYPE_DOUBLE
299 */
300const MYSQLI_TYPE_DOUBLE = UNKNOWN;
301/**
302 * @var int
303 * @cvalue FIELD_TYPE_NULL
304 */
305const MYSQLI_TYPE_NULL = UNKNOWN;
306/**
307 * @var int
308 * @cvalue FIELD_TYPE_TIMESTAMP
309 */
310const MYSQLI_TYPE_TIMESTAMP = UNKNOWN;
311/**
312 * @var int
313 * @cvalue FIELD_TYPE_LONGLONG
314 */
315const MYSQLI_TYPE_LONGLONG = UNKNOWN;
316/**
317 * @var int
318 * @cvalue FIELD_TYPE_INT24
319 */
320const MYSQLI_TYPE_INT24 = UNKNOWN;
321/**
322 * @var int
323 * @cvalue FIELD_TYPE_DATE
324 */
325const MYSQLI_TYPE_DATE = UNKNOWN;
326/**
327 * @var int
328 * @cvalue FIELD_TYPE_TIME
329 */
330const MYSQLI_TYPE_TIME = UNKNOWN;
331/**
332 * @var int
333 * @cvalue FIELD_TYPE_DATETIME
334 */
335const MYSQLI_TYPE_DATETIME = UNKNOWN;
336/**
337 * @var int
338 * @cvalue FIELD_TYPE_YEAR
339 */
340const MYSQLI_TYPE_YEAR = UNKNOWN;
341/**
342 * @var int
343 * @cvalue FIELD_TYPE_NEWDATE
344 */
345const MYSQLI_TYPE_NEWDATE = UNKNOWN;
346/**
347 * @var int
348 * @cvalue FIELD_TYPE_ENUM
349 */
350const MYSQLI_TYPE_ENUM = UNKNOWN;
351/**
352 * @var int
353 * @cvalue FIELD_TYPE_SET
354 */
355const MYSQLI_TYPE_SET = UNKNOWN;
356/**
357 * @var int
358 * @cvalue FIELD_TYPE_TINY_BLOB
359 */
360const MYSQLI_TYPE_TINY_BLOB = UNKNOWN;
361/**
362 * @var int
363 * @cvalue FIELD_TYPE_MEDIUM_BLOB
364 */
365const MYSQLI_TYPE_MEDIUM_BLOB = UNKNOWN;
366/**
367 * @var int
368 * @cvalue FIELD_TYPE_LONG_BLOB
369 */
370const MYSQLI_TYPE_LONG_BLOB = UNKNOWN;
371/**
372 * @var int
373 * @cvalue FIELD_TYPE_BLOB
374 */
375const MYSQLI_TYPE_BLOB = UNKNOWN;
376/**
377 * @var int
378 * @cvalue FIELD_TYPE_VAR_STRING
379 */
380const MYSQLI_TYPE_VAR_STRING = UNKNOWN;
381/**
382 * @var int
383 * @cvalue FIELD_TYPE_STRING
384 */
385const MYSQLI_TYPE_STRING = UNKNOWN;
386/**
387 * @var int
388 * @cvalue FIELD_TYPE_CHAR
389 */
390const MYSQLI_TYPE_CHAR = UNKNOWN;
391/**
392 * @var int
393 * @cvalue FIELD_TYPE_GEOMETRY
394 */
395const MYSQLI_TYPE_GEOMETRY = UNKNOWN;
396/**
397 * @var int
398 * @cvalue FIELD_TYPE_VECTOR
399 */
400const MYSQLI_TYPE_VECTOR = UNKNOWN;
401/**
402 * @var int
403 * @cvalue FIELD_TYPE_JSON
404 */
405const MYSQLI_TYPE_JSON = UNKNOWN;
406/**
407 * @var int
408 * @cvalue FIELD_TYPE_NEWDECIMAL
409 */
410const MYSQLI_TYPE_NEWDECIMAL = UNKNOWN;
411/**
412 * @var int
413 * @cvalue FIELD_TYPE_BIT
414 */
415const MYSQLI_TYPE_BIT = UNKNOWN;
416/**
417 * @var int
418 * @cvalue MYSQL_SET_CHARSET_NAME
419 */
420const MYSQLI_SET_CHARSET_NAME = UNKNOWN;
421
422/* bind support */
423/**
424 * @var int
425 * @cvalue MYSQL_NO_DATA
426 * @deprecated
427 */
428const MYSQLI_NO_DATA = UNKNOWN;
429/**
430 * @var int
431 * @cvalue MYSQL_DATA_TRUNCATED
432 * @deprecated
433 */
434const MYSQLI_DATA_TRUNCATED = UNKNOWN;
435
436/* reporting */
437/**
438 * @var int
439 * @cvalue MYSQLI_REPORT_INDEX
440 */
441const MYSQLI_REPORT_INDEX = UNKNOWN;
442/**
443 * @var int
444 * @cvalue MYSQLI_REPORT_ERROR
445 */
446const MYSQLI_REPORT_ERROR = UNKNOWN;
447/**
448 * @var int
449 * @cvalue MYSQLI_REPORT_STRICT
450 */
451const MYSQLI_REPORT_STRICT = UNKNOWN;
452/**
453 * @var int
454 * @cvalue MYSQLI_REPORT_ALL
455 */
456const MYSQLI_REPORT_ALL = UNKNOWN;
457/**
458 * @var int
459 * @cvalue MYSQLI_REPORT_OFF
460 */
461const MYSQLI_REPORT_OFF = UNKNOWN;
462
463/**
464 * @var int
465 * @cvalue MYSQLND_DBG_ENABLED
466 */
467const MYSQLI_DEBUG_TRACE_ENABLED = UNKNOWN;
468
469/**
470 * @var int
471 * @cvalue SERVER_QUERY_NO_GOOD_INDEX_USED
472 * @deprecated
473 */
474const MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED = UNKNOWN;
475/**
476 * @var int
477 * @cvalue SERVER_QUERY_NO_INDEX_USED
478 * @deprecated
479 */
480const MYSQLI_SERVER_QUERY_NO_INDEX_USED = UNKNOWN;
481/**
482 * @var int
483 * @cvalue SERVER_QUERY_WAS_SLOW
484 * @deprecated
485 */
486const MYSQLI_SERVER_QUERY_WAS_SLOW = UNKNOWN;
487/**
488 * @var int
489 * @cvalue SERVER_PS_OUT_PARAMS
490 * @deprecated
491 */
492const MYSQLI_SERVER_PS_OUT_PARAMS = UNKNOWN;
493
494/**
495 * @var int
496 * @cvalue REFRESH_GRANT
497 * @deprecated
498 */
499const MYSQLI_REFRESH_GRANT = UNKNOWN;
500/**
501 * @var int
502 * @cvalue REFRESH_LOG
503 * @deprecated
504 */
505const MYSQLI_REFRESH_LOG = UNKNOWN;
506/**
507 * @var int
508 * @cvalue REFRESH_TABLES
509 * @deprecated
510 */
511const MYSQLI_REFRESH_TABLES = UNKNOWN;
512/**
513 * @var int
514 * @cvalue REFRESH_HOSTS
515 * @deprecated
516 */
517const MYSQLI_REFRESH_HOSTS = UNKNOWN;
518/**
519 * @var int
520 * @cvalue REFRESH_STATUS
521 * @deprecated
522 */
523const MYSQLI_REFRESH_STATUS = UNKNOWN;
524/**
525 * @var int
526 * @cvalue REFRESH_THREADS
527 * @deprecated
528 */
529const MYSQLI_REFRESH_THREADS = UNKNOWN;
530/**
531 * @var int
532 * @cvalue REFRESH_SLAVE
533 * @deprecated
534 */
535const MYSQLI_REFRESH_REPLICA = UNKNOWN;
536/**
537 * @var int
538 * @cvalue REFRESH_SLAVE
539 * @deprecated
540 */
541const MYSQLI_REFRESH_SLAVE = UNKNOWN;
542/**
543 * @var int
544 * @cvalue REFRESH_MASTER
545 * @deprecated
546 */
547const MYSQLI_REFRESH_MASTER = UNKNOWN;
548/**
549 * @var int
550 * @cvalue REFRESH_BACKUP_LOG
551 * @deprecated
552 */
553const MYSQLI_REFRESH_BACKUP_LOG = UNKNOWN;
554
555/**
556 * @var int
557 * @cvalue TRANS_START_WITH_CONSISTENT_SNAPSHOT
558 */
559const MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT = UNKNOWN;
560/**
561 * @var int
562 * @cvalue TRANS_START_READ_WRITE
563 */
564const MYSQLI_TRANS_START_READ_WRITE = UNKNOWN;
565/**
566 * @var int
567 * @cvalue TRANS_START_READ_ONLY
568 */
569const MYSQLI_TRANS_START_READ_ONLY = UNKNOWN;
570
571/**
572 * @var int
573 * @cvalue TRANS_COR_AND_CHAIN
574 */
575const MYSQLI_TRANS_COR_AND_CHAIN = UNKNOWN;
576/**
577 * @var int
578 * @cvalue TRANS_COR_AND_NO_CHAIN
579 */
580const MYSQLI_TRANS_COR_AND_NO_CHAIN = UNKNOWN;
581/**
582 * @var int
583 * @cvalue TRANS_COR_RELEASE
584 */
585const MYSQLI_TRANS_COR_RELEASE = UNKNOWN;
586/**
587 * @var int
588 * @cvalue TRANS_COR_NO_RELEASE
589 */
590const MYSQLI_TRANS_COR_NO_RELEASE = UNKNOWN;
591
592/**
593 * @var bool
594 * @deprecated
595 */
596const MYSQLI_IS_MARIADB = false;
597
598final class mysqli_driver
599{
600    /** @readonly */
601    public string $client_info;
602
603    /** @readonly */
604    public int $client_version;
605
606    /** @readonly */
607    public int $driver_version;
608
609    public int $report_mode = 0;
610}
611
612class mysqli
613{
614    /**
615     * @readonly
616     * @link mysqli.affected-rows
617     */
618    public int|string $affected_rows;
619
620    /**
621     * @readonly
622     * @link mysqli.get-client-info
623     */
624    public string $client_info;
625
626    /**
627     * @readonly
628     * @link mysqli.get-client-version
629     */
630    public int $client_version;
631
632    /**
633     * @readonly
634     * @link mysqli.connect-errno
635     */
636    public int $connect_errno;
637
638    /**
639     * @readonly
640     * @link mysqli.connect-error
641     */
642    public ?string $connect_error;
643
644    /**
645     * @readonly
646     * @link mysqli.errno
647     */
648    public int $errno;
649
650    /**
651     * @readonly
652     * @link mysqli.error
653     */
654    public string $error;
655
656    /**
657     * @readonly
658     * @link mysqli.error-list
659     */
660    public array $error_list;
661
662    /**
663     * @readonly
664     * @link mysqli.field-count
665     */
666    public int $field_count;
667
668    /**
669     * @readonly
670     * @link mysqli.get-host-info
671     */
672    public string $host_info;
673
674    /**
675     * @readonly
676     * @link mysqli.info
677     */
678    public ?string $info;
679
680    /**
681     * @readonly
682     * @link mysqli.insert-id
683     */
684    public int|string $insert_id;
685
686    /**
687     * @readonly
688     * @link mysqli.get-server-info
689     */
690    public string $server_info;
691
692    /**
693     * @readonly
694     * @link mysqli.get-server-version
695     */
696    public int $server_version;
697
698    /**
699     * @readonly
700     * @link mysqli.sqlstate
701     */
702    public string $sqlstate;
703
704    /**
705     * @readonly
706     * @link mysqli.get-proto-info
707     */
708    public int $protocol_version;
709
710    /**
711     * @readonly
712     * @link mysqli.thread-id
713     */
714    public int $thread_id;
715
716    /**
717     * @readonly
718     * @link mysqli.warning-count
719     */
720    public int $warning_count;
721
722    public function __construct(
723        ?string $hostname = null,
724        ?string $username = null,
725        #[\SensitiveParameter] ?string $password = null,
726        ?string $database = null,
727        ?int $port = null,
728        ?string $socket = null
729    ) {}
730
731    /**
732     * @tentative-return-type
733     * @alias mysqli_autocommit
734     */
735    public function autocommit(bool $enable): bool {}
736
737    /**
738     * @tentative-return-type
739     * @alias mysqli_begin_transaction
740     */
741    public function begin_transaction(int $flags = 0, ?string $name = null): bool {}
742
743    /**
744     * @tentative-return-type
745     * @alias mysqli_change_user
746     */
747    public function change_user(string $username, #[\SensitiveParameter] string $password, ?string $database): bool {}
748
749    /**
750     * @tentative-return-type
751     * @alias mysqli_character_set_name
752     */
753    public function character_set_name(): string {}
754
755    /**
756     * @tentative-return-type
757     * @alias mysqli_close
758     */
759    public function close(): true {}
760
761    /**
762     * @tentative-return-type
763     * @alias mysqli_commit
764     */
765    public function commit(int $flags = 0, ?string $name = null): bool {}
766
767    /**
768     * @tentative-return-type
769     * @alias mysqli_connect
770     * @no-verify
771     */
772    public function connect(
773        ?string $hostname = null,
774        ?string $username = null,
775        #[\SensitiveParameter] ?string $password = null,
776        ?string $database = null,
777        ?int $port = null,
778        ?string $socket = null
779    ): bool {}
780
781    /**
782     * @tentative-return-type
783     * @alias mysqli_dump_debug_info
784     */
785    public function dump_debug_info(): bool {}
786
787    /**
788     * @tentative-return-type
789     * @alias mysqli_debug
790     * @no-verify Should really be a static method
791     */
792    public function debug(string $options): true {}
793
794    /**
795     * @tentative-return-type
796     * @alias mysqli_get_charset
797     */
798    public function get_charset(): ?object {}
799
800    /**
801     * @alias mysqli_execute_query
802     */
803    public function execute_query(string $query, ?array $params = null): mysqli_result|bool {}
804
805    /**
806     * @tentative-return-type
807     * @alias mysqli_get_client_info
808     */
809    #[\Deprecated(since: '8.1', message: 'use mysqli_get_client_info() instead')]
810    public function get_client_info(): string {}
811
812    /**
813     * @return array<string, mixed>
814     * @tentative-return-type
815     * @alias mysqli_get_connection_stats
816     */
817    public function get_connection_stats(): array {}
818
819    /**
820     * @tentative-return-type
821     * @alias mysqli_get_server_info
822     */
823    public function get_server_info(): string {}
824
825    /**
826     * @tentative-return-type
827     * @alias mysqli_get_warnings
828     */
829    public function get_warnings(): mysqli_warning|false {}
830
831    /**
832     * @return bool|null
833     * */
834    #[\Deprecated(since: '8.1', message: 'replace calls to parent::init() with parent::__construct()')]
835    public function init() {}
836
837    /**
838     * @tentative-return-type
839     * @alias mysqli_kill
840     */
841    #[\Deprecated(since: '8.4', message: 'use KILL CONNECTION/QUERY SQL statement instead')]
842    public function kill(int $process_id): bool {}
843
844    /**
845     * @tentative-return-type
846     * @alias mysqli_multi_query
847     */
848    public function multi_query(string $query): bool {}
849
850    /**
851     * @tentative-return-type
852     * @alias mysqli_more_results
853     */
854    public function more_results(): bool {}
855
856    /**
857     * @tentative-return-type
858     * @alias mysqli_next_result
859     */
860    public function next_result(): bool {}
861
862    /**
863     * @tentative-return-type
864     * @alias mysqli_ping
865     */
866    #[\Deprecated(since: '8.4', message: 'because the reconnect feature has been removed in PHP 8.2 and this method is now redundant')]
867    public function ping(): bool {}
868
869    /**
870     * @tentative-return-type
871     * @alias mysqli_poll
872     */
873    public static function poll(?array &$read, ?array &$error, array &$reject, int $seconds, int $microseconds = 0): int|false {}
874
875    /**
876     * @tentative-return-type
877     * @alias mysqli_prepare
878     */
879    public function prepare(string $query): mysqli_stmt|false {}
880
881    /**
882     * @tentative-return-type
883     * @alias mysqli_query
884     */
885    public function query(string $query, int $result_mode = MYSQLI_STORE_RESULT): mysqli_result|bool {}
886
887    /**
888     * @tentative-return-type
889     * @alias mysqli_real_connect
890     */
891    public function real_connect(
892        ?string $hostname = null,
893        ?string $username = null,
894        #[\SensitiveParameter] ?string $password = null,
895        ?string $database = null,
896        ?int $port = null,
897        ?string $socket = null,
898        int $flags = 0
899    ): bool {}
900
901    /**
902     * @tentative-return-type
903     * @alias mysqli_real_escape_string
904     */
905    public function real_escape_string(string $string): string {}
906
907    /**
908     * @tentative-return-type
909     * @alias mysqli_reap_async_query
910     */
911    public function reap_async_query(): mysqli_result|bool {}
912
913    /**
914     * @tentative-return-type
915     * @alias mysqli_real_escape_string
916     */
917    public function escape_string(string $string): string {}
918
919    /**
920     * @tentative-return-type
921     * @alias mysqli_real_query
922     */
923    public function real_query(string $query): bool {}
924
925    /**
926     * @tentative-return-type
927     * @alias mysqli_release_savepoint
928     */
929    public function release_savepoint(string $name): bool {}
930
931    /**
932     * @tentative-return-type
933     * @alias mysqli_rollback
934     */
935    public function rollback(int $flags = 0, ?string $name = null): bool {}
936
937    /**
938     * @tentative-return-type
939     * @alias mysqli_savepoint
940     */
941    public function savepoint(string $name): bool {}
942
943    /**
944     * @tentative-return-type
945     * @alias mysqli_select_db
946     */
947    public function select_db(string $database): bool {}
948
949    /**
950     * @tentative-return-type
951     * @alias mysqli_set_charset
952     */
953    public function set_charset(string $charset): bool {}
954
955    /**
956     * @param string|int $value
957     * @tentative-return-type
958     * @alias mysqli_options
959     */
960    public function options(int $option, $value): bool {}
961
962    /**
963     * @param string|int $value
964     * @tentative-return-type
965     * @alias mysqli_options
966     */
967    public function set_opt(int $option, $value): bool {}
968
969    /**
970     * @tentative-return-type
971     * @alias mysqli_ssl_set
972     */
973    public function ssl_set(
974        ?string $key,
975        ?string $certificate,
976        ?string $ca_certificate,
977        ?string $ca_path,
978        ?string $cipher_algos
979    ): true {}
980
981    /**
982     * @tentative-return-type
983     * @alias mysqli_stat
984     */
985    public function stat(): string|false {}
986
987    /**
988     * @tentative-return-type
989     * @alias mysqli_stmt_init
990     */
991    public function stmt_init(): mysqli_stmt|false {}
992
993    /**
994     * @tentative-return-type
995     * @alias mysqli_store_result
996     */
997    public function store_result(int $mode = 0): mysqli_result|false {}
998
999    /**
1000     * @tentative-return-type
1001     * @alias mysqli_thread_safe
1002     */
1003    public function thread_safe(): bool {}
1004
1005    /**
1006     * @tentative-return-type
1007     * @alias mysqli_use_result
1008     */
1009    public function use_result(): mysqli_result|false {}
1010
1011    /**
1012     * @tentative-return-type
1013     * @alias mysqli_refresh
1014     */
1015    #[\Deprecated(since: '8.4', message: 'use FLUSH SQL statement instead')]
1016    public function refresh(int $flags): bool {}
1017}
1018
1019class mysqli_result implements IteratorAggregate
1020{
1021    /**
1022     * @readonly
1023     * @link mysqli-result.current-field
1024     */
1025    public int $current_field;
1026
1027    /**
1028     * @readonly
1029     * @link mysqli-result.field-count
1030     */
1031    public int $field_count;
1032
1033    /**
1034     * @readonly
1035     * @link mysqli-result.lengths
1036     */
1037    public ?array $lengths;
1038
1039    /**
1040     * @readonly
1041     * @link mysqli-result.num-rows
1042     */
1043    public int|string $num_rows;
1044
1045    public int $type;
1046
1047    public function __construct(mysqli $mysql, int $result_mode = MYSQLI_STORE_RESULT) {}
1048
1049    /**
1050     * @tentative-return-type
1051     * @alias mysqli_free_result
1052     */
1053    public function close(): void {}
1054
1055    /**
1056     * @tentative-return-type
1057     * @alias mysqli_free_result
1058     */
1059    public function free(): void {}
1060
1061    /**
1062     * @tentative-return-type
1063     * @alias mysqli_data_seek
1064     */
1065    public function data_seek(int $offset): bool {}
1066
1067    /**
1068     * @tentative-return-type
1069     * @alias mysqli_fetch_field
1070     */
1071    public function fetch_field(): object|false {}
1072
1073    /**
1074     * @return array<int, object>
1075     * @tentative-return-type
1076     * @alias mysqli_fetch_fields
1077     */
1078    public function fetch_fields(): array {}
1079
1080    /**
1081     * @tentative-return-type
1082     * @alias mysqli_fetch_field_direct
1083     */
1084    public function fetch_field_direct(int $index): object|false {}
1085
1086    /**
1087     * @return array<int|string, mixed>
1088     * @tentative-return-type
1089     * @alias mysqli_fetch_all
1090     */
1091    public function fetch_all(int $mode = MYSQLI_NUM): array {}
1092
1093    /**
1094     * @return array<int|string, mixed>|null|false
1095     * @tentative-return-type
1096     * @alias mysqli_fetch_array
1097     */
1098    public function fetch_array(int $mode = MYSQLI_BOTH): array|null|false {}
1099
1100    /**
1101     * @return array<int|string, mixed>|null|false
1102     * @tentative-return-type
1103     * @alias mysqli_fetch_assoc
1104     */
1105    public function fetch_assoc(): array|null|false {}
1106
1107    /**
1108     * @tentative-return-type
1109     * @alias mysqli_fetch_object
1110     */
1111    public function fetch_object(string $class = "stdClass", array $constructor_args = []): object|null|false {}
1112
1113    /**
1114     * @return array<int, mixed>|null|false
1115     * @tentative-return-type
1116     * @alias mysqli_fetch_row
1117     */
1118    public function fetch_row(): array|null|false {}
1119
1120    /** @alias mysqli_fetch_column */
1121    public function fetch_column(int $column = 0): null|int|float|string|false {}
1122
1123    /**
1124     * @tentative-return-type
1125     * @alias mysqli_field_seek
1126     */
1127    public function field_seek(int $index): true {}
1128
1129    /**
1130     * @tentative-return-type
1131     * @alias mysqli_free_result
1132     */
1133    public function free_result(): void {}
1134
1135    public function getIterator(): Iterator {}
1136}
1137
1138class mysqli_stmt
1139{
1140    /**
1141     * @readonly
1142     * @link mysqli-stmt.affected-rows
1143     */
1144    public int|string $affected_rows;
1145
1146    /**
1147     * @readonly
1148     * @link mysqli-stmt.insert-id
1149     */
1150    public int|string $insert_id;
1151
1152    /**
1153     * @readonly
1154     * @link mysqli-stmt.num-rows
1155     */
1156    public int|string $num_rows;
1157
1158    /**
1159     * @readonly
1160     * @link mysqli-stmt.param-count
1161     */
1162    public int $param_count;
1163
1164    /**
1165     * @readonly
1166     * @link mysqli-stmt.field-count
1167     */
1168    public int $field_count;
1169
1170    /**
1171     * @readonly
1172     * @link mysqli-stmt.errno
1173     */
1174    public int $errno;
1175
1176    /**
1177     * @readonly
1178     * @link mysqli-stmt.error
1179     */
1180    public string $error;
1181
1182    /**
1183     * @readonly
1184     * @link mysqli-stmt.error-list
1185     */
1186    public array $error_list;
1187
1188    /**
1189     * @readonly
1190     * @link mysqli-stmt.sqlstate
1191     */
1192    public string $sqlstate;
1193
1194    public int $id;
1195
1196    public function __construct(mysqli $mysql, ?string $query = null) {}
1197
1198    /**
1199     * @tentative-return-type
1200     * @alias mysqli_stmt_attr_get
1201     */
1202    public function attr_get(int $attribute): int {}
1203
1204    /**
1205     * @tentative-return-type
1206     * @alias mysqli_stmt_attr_set
1207     */
1208    public function attr_set(int $attribute, int $value): bool {}
1209
1210    /**
1211     * @tentative-return-type
1212     * @alias mysqli_stmt_bind_param
1213     */
1214    public function bind_param(string $types, mixed &...$vars): bool {}
1215
1216    /**
1217     * @tentative-return-type
1218     * @alias mysqli_stmt_bind_result
1219     */
1220    public function bind_result(mixed &...$vars): bool {}
1221
1222    /**
1223     * @tentative-return-type
1224     * @alias mysqli_stmt_close
1225     */
1226    public function close(): true {}
1227
1228    /**
1229     * @tentative-return-type
1230     * @alias mysqli_stmt_data_seek
1231     */
1232    public function data_seek(int $offset): void {}
1233
1234    /**
1235     * @tentative-return-type
1236     * @alias mysqli_stmt_execute
1237     */
1238    public function execute(?array $params = null): bool {}
1239
1240    /**
1241     * @tentative-return-type
1242     * @alias mysqli_stmt_fetch
1243     */
1244    public function fetch(): ?bool {}
1245
1246    /**
1247     * @tentative-return-type
1248     * @alias mysqli_stmt_get_warnings
1249     */
1250    public function get_warnings(): mysqli_warning|false {}
1251
1252    /**
1253     * @tentative-return-type
1254     * @alias mysqli_stmt_result_metadata
1255     */
1256    public function result_metadata(): mysqli_result|false {}
1257
1258    /**
1259     * @tentative-return-type
1260     * @alias mysqli_stmt_more_results
1261     */
1262    public function more_results(): bool {}
1263
1264    /**
1265     * @tentative-return-type
1266     * @alias mysqli_stmt_next_result
1267     */
1268    public function next_result(): bool {}
1269
1270    /**
1271     * @tentative-return-type
1272     * @alias mysqli_stmt_num_rows
1273     */
1274    public function num_rows(): int|string {}
1275
1276    /**
1277     * @tentative-return-type
1278     * @alias mysqli_stmt_send_long_data
1279     */
1280    public function send_long_data(int $param_num, string $data): bool {}
1281
1282    /**
1283     * @tentative-return-type
1284     * @alias mysqli_stmt_free_result
1285     */
1286    public function free_result(): void {}
1287
1288    /**
1289     * @tentative-return-type
1290     * @alias mysqli_stmt_reset
1291     */
1292    public function reset(): bool {}
1293
1294    /**
1295     * @tentative-return-type
1296     * @alias mysqli_stmt_prepare
1297     */
1298    public function prepare(string $query): bool {}
1299
1300    /**
1301     * @tentative-return-type
1302     * @alias mysqli_stmt_store_result
1303     */
1304    public function store_result(): bool {}
1305
1306    /**
1307     * @tentative-return-type
1308     * @alias mysqli_stmt_get_result
1309     */
1310    public function get_result(): mysqli_result|false {}
1311}
1312
1313final class mysqli_warning
1314{
1315    public string $message;
1316
1317    public string $sqlstate;
1318
1319    public int $errno;
1320
1321    private function __construct() {}
1322
1323    public function next(): bool {}
1324}
1325
1326final class mysqli_sql_exception extends RuntimeException
1327{
1328    protected string $sqlstate = "00000";
1329
1330    public function getSqlState(): string {}
1331}
1332
1333/** @refcount 1 */
1334function mysqli_affected_rows(mysqli $mysql): int|string {}
1335
1336function mysqli_autocommit(mysqli $mysql, bool $enable): bool {}
1337
1338function mysqli_begin_transaction(mysqli $mysql, int $flags = 0, ?string $name = null): bool {}
1339
1340function mysqli_change_user(mysqli $mysql, string $username, #[\SensitiveParameter] string $password, ?string $database): bool {}
1341
1342/** @refcount 1 */
1343function mysqli_character_set_name(mysqli $mysql): string {}
1344
1345function mysqli_close(mysqli $mysql): true {}
1346
1347function mysqli_commit(mysqli $mysql, int $flags = 0, ?string $name = null): bool {}
1348
1349/**
1350 * @refcount 1
1351 */
1352function mysqli_connect(
1353    ?string $hostname = null,
1354    ?string $username = null,
1355    #[\SensitiveParameter] ?string $password = null,
1356    ?string $database = null,
1357    ?int $port = null,
1358    ?string $socket = null
1359): mysqli|false {}
1360
1361function mysqli_connect_errno(): int {}
1362
1363/** @refcount 1 */
1364function mysqli_connect_error(): ?string {}
1365
1366function mysqli_data_seek(mysqli_result $result, int $offset): bool {}
1367
1368function mysqli_dump_debug_info(mysqli $mysql): bool {}
1369
1370function mysqli_debug(string $options): true {}
1371
1372function mysqli_errno(mysqli $mysql): int {}
1373
1374/** @refcount 1 */
1375function mysqli_error(mysqli $mysql): string {}
1376
1377/**
1378 * @return array<int, array>
1379 * @refcount 1
1380 */
1381function mysqli_error_list(mysqli $mysql): array {}
1382
1383function mysqli_stmt_execute(mysqli_stmt $statement, ?array $params = null): bool {}
1384
1385/** @alias mysqli_stmt_execute */
1386function mysqli_execute(mysqli_stmt $statement, ?array $params = null): bool {}
1387
1388function mysqli_execute_query(mysqli $mysql, string $query, ?array $params = null): mysqli_result|bool {}
1389
1390/** @refcount 1 */
1391function mysqli_fetch_field(mysqli_result $result): object|false {}
1392
1393/**
1394 * @return array<int, object>
1395 * @refcount 1
1396 */
1397function mysqli_fetch_fields(mysqli_result $result): array {}
1398
1399/** @refcount 1 */
1400function mysqli_fetch_field_direct(mysqli_result $result, int $index): object|false {}
1401
1402/**
1403 * @return array<int, int>|false
1404 * @refcount 1
1405 */
1406function mysqli_fetch_lengths(mysqli_result $result): array|false {}
1407
1408/**
1409 * @return array<int|string, mixed>
1410 * @refcount 1
1411 */
1412function mysqli_fetch_all(mysqli_result $result, int $mode = MYSQLI_NUM): array {}
1413
1414/**
1415 * @return array<int|string, mixed>|null|false
1416 * @refcount 1
1417 */
1418function mysqli_fetch_array(mysqli_result $result, int $mode = MYSQLI_BOTH): array|null|false {}
1419
1420/**
1421 * @return array<int|string, mixed>|null|false
1422 * @refcount 1
1423 */
1424function mysqli_fetch_assoc(mysqli_result $result): array|null|false {}
1425
1426/** @refcount 1 */
1427function mysqli_fetch_object(mysqli_result $result, string $class = "stdClass", array $constructor_args = []): object|null|false {}
1428
1429/**
1430 * @return array<int, mixed>|null|false
1431 * @refcount 1
1432 */
1433function mysqli_fetch_row(mysqli_result $result): array|null|false {}
1434
1435function mysqli_fetch_column(mysqli_result $result, int $column = 0): null|int|float|string|false {}
1436
1437function mysqli_field_count(mysqli $mysql): int {}
1438
1439function mysqli_field_seek(mysqli_result $result, int $index): true {}
1440
1441function mysqli_field_tell(mysqli_result $result): int {}
1442
1443function mysqli_free_result(mysqli_result $result): void {}
1444
1445/**
1446 * @return array<string, mixed>
1447 * @refcount 1
1448 */
1449function mysqli_get_connection_stats(mysqli $mysql): array {}
1450
1451/**
1452 * @return array<string, string>
1453 * @refcount 1
1454 */
1455function mysqli_get_client_stats(): array {}
1456
1457/** @refcount 1 */
1458function mysqli_get_charset(mysqli $mysql): ?object {}
1459
1460/** @refcount 1 */
1461function mysqli_get_client_info(?mysqli $mysql = null): string {}
1462
1463function mysqli_get_client_version(): int {}
1464
1465/**
1466 * @return array<string, int>
1467 * @refcount 1
1468 */
1469function mysqli_get_links_stats(): array {}
1470
1471/** @refcount 1 */
1472function mysqli_get_host_info(mysqli $mysql): string {}
1473
1474function mysqli_get_proto_info(mysqli $mysql): int {}
1475
1476/** @refcount 1 */
1477function mysqli_get_server_info(mysqli $mysql): string {}
1478
1479function mysqli_get_server_version(mysqli $mysql): int {}
1480
1481/** @refcount 1 */
1482function mysqli_get_warnings(mysqli $mysql): mysqli_warning|false {}
1483
1484/** @refcount 1 */
1485function mysqli_init(): mysqli|false {}
1486
1487/** @refcount 1 */
1488function mysqli_info(mysqli $mysql): ?string {}
1489
1490/** @refcount 1 */
1491function mysqli_insert_id(mysqli $mysql): int|string {}
1492
1493#[\Deprecated(since: '8.4', message: 'use KILL CONNECTION/QUERY SQL statement instead')]
1494function mysqli_kill(mysqli $mysql, int $process_id): bool {}
1495
1496function mysqli_more_results(mysqli $mysql): bool {}
1497
1498function mysqli_multi_query(mysqli $mysql, string $query): bool {}
1499
1500function mysqli_next_result(mysqli $mysql): bool {}
1501
1502function mysqli_num_fields(mysqli_result $result): int {}
1503
1504/** @refcount 1 */
1505function mysqli_num_rows(mysqli_result $result): int|string {}
1506
1507/** @param string|int $value */
1508function mysqli_options(mysqli $mysql, int $option, $value): bool {}
1509
1510/**
1511 * @param string|int $value
1512 * @alias mysqli_options
1513 */
1514function mysqli_set_opt(mysqli $mysql, int $option, $value): bool {}
1515
1516#[\Deprecated(since: '8.4', message: 'because the reconnect feature has been removed in PHP 8.2 and this function is now redundant')]
1517function mysqli_ping(mysqli $mysql): bool {}
1518
1519function mysqli_poll(?array &$read, ?array &$error, array &$reject, int $seconds, int $microseconds = 0): int|false {}
1520
1521/** @refcount 1 */
1522function mysqli_prepare(mysqli $mysql, string $query): mysqli_stmt|false {}
1523
1524function mysqli_report(int $flags): true {}
1525
1526/** @refcount 1 */
1527function mysqli_query(mysqli $mysql, string $query, int $result_mode = MYSQLI_STORE_RESULT): mysqli_result|bool {}
1528
1529function mysqli_real_connect(
1530    mysqli $mysql,
1531    ?string $hostname = null,
1532    ?string $username = null,
1533    #[\SensitiveParameter]
1534    ?string $password = null,
1535    ?string $database = null,
1536    ?int $port = null,
1537    ?string $socket = null,
1538    int $flags = 0
1539): bool {}
1540
1541/** @refcount 1 */
1542function mysqli_real_escape_string(mysqli $mysql, string $string): string {}
1543
1544/** @alias mysqli_real_escape_string */
1545function mysqli_escape_string(mysqli $mysql, string $string): string {}
1546
1547function mysqli_real_query(mysqli $mysql, string $query): bool {}
1548
1549/** @refcount 1 */
1550function mysqli_reap_async_query(mysqli $mysql): mysqli_result|bool {}
1551
1552function mysqli_release_savepoint(mysqli $mysql, string $name): bool {}
1553
1554function mysqli_rollback(mysqli $mysql, int $flags = 0, ?string $name = null): bool {}
1555
1556function mysqli_savepoint(mysqli $mysql, string $name): bool {}
1557
1558function mysqli_select_db(mysqli $mysql, string $database): bool {}
1559
1560function mysqli_set_charset(mysqli $mysql, string $charset): bool {}
1561
1562/** @refcount 1 */
1563function mysqli_stmt_affected_rows(mysqli_stmt $statement): int|string {}
1564
1565function mysqli_stmt_attr_get(mysqli_stmt $statement, int $attribute): int {}
1566
1567function mysqli_stmt_attr_set(mysqli_stmt $statement, int $attribute, int $value): bool {}
1568
1569function mysqli_stmt_bind_param(mysqli_stmt $statement, string $types, mixed &...$vars): bool {}
1570
1571function mysqli_stmt_bind_result(mysqli_stmt $statement, mixed &...$vars): bool {}
1572
1573function mysqli_stmt_close(mysqli_stmt $statement): true {}
1574
1575function mysqli_stmt_data_seek(mysqli_stmt $statement, int $offset): void {}
1576
1577function mysqli_stmt_errno(mysqli_stmt $statement): int {}
1578
1579/** @refcount 1 */
1580function mysqli_stmt_error(mysqli_stmt $statement): string {}
1581
1582/**
1583 * @return array<int, array>
1584 * @refcount 1
1585 */
1586function mysqli_stmt_error_list(mysqli_stmt $statement): array {}
1587
1588function mysqli_stmt_fetch(mysqli_stmt $statement): ?bool {}
1589
1590function mysqli_stmt_field_count(mysqli_stmt $statement): int {}
1591
1592function mysqli_stmt_free_result(mysqli_stmt $statement): void {}
1593
1594/** @refcount 1 */
1595function mysqli_stmt_get_result(mysqli_stmt $statement): mysqli_result|false {}
1596
1597/** @refcount 1 */
1598function mysqli_stmt_get_warnings(mysqli_stmt $statement): mysqli_warning|false {}
1599
1600/** @refcount 1 */
1601function mysqli_stmt_init(mysqli $mysql): mysqli_stmt|false {}
1602
1603/** @refcount 1 */
1604function mysqli_stmt_insert_id(mysqli_stmt $statement): int|string {}
1605
1606function mysqli_stmt_more_results(mysqli_stmt $statement): bool {}
1607
1608function mysqli_stmt_next_result(mysqli_stmt $statement): bool {}
1609
1610/** @refcount 1 */
1611function mysqli_stmt_num_rows(mysqli_stmt $statement): int|string {}
1612
1613function mysqli_stmt_param_count(mysqli_stmt $statement): int {}
1614
1615function mysqli_stmt_prepare(mysqli_stmt $statement, string $query): bool {}
1616
1617function mysqli_stmt_reset(mysqli_stmt $statement): bool {}
1618
1619/** @refcount 1 */
1620function mysqli_stmt_result_metadata(mysqli_stmt $statement): mysqli_result|false {}
1621
1622function mysqli_stmt_send_long_data(mysqli_stmt $statement, int $param_num, string $data): bool {}
1623
1624function mysqli_stmt_store_result(mysqli_stmt $statement): bool {}
1625
1626/** @refcount 1 */
1627function mysqli_stmt_sqlstate(mysqli_stmt $statement): string {}
1628
1629/** @refcount 1 */
1630function mysqli_sqlstate(mysqli $mysql): string {}
1631
1632function mysqli_ssl_set(
1633    mysqli $mysql,
1634    ?string $key,
1635    ?string $certificate,
1636    ?string $ca_certificate,
1637    ?string $ca_path,
1638    ?string $cipher_algos
1639): true {}
1640
1641/** @refcount 1 */
1642function mysqli_stat(mysqli $mysql): string|false {}
1643
1644/** @refcount 1 */
1645function mysqli_store_result(mysqli $mysql, int $mode = 0): mysqli_result|false {}
1646
1647function mysqli_thread_id(mysqli $mysql): int {}
1648
1649function mysqli_thread_safe(): bool {}
1650
1651/** @refcount 1 */
1652function mysqli_use_result(mysqli $mysql): mysqli_result|false {}
1653
1654function mysqli_warning_count(mysqli $mysql): int {}
1655
1656#[\Deprecated(since: '8.4', message: 'use FLUSH SQL statement instead')]
1657function mysqli_refresh(mysqli $mysql, int $flags): bool {}
1658